性能测试工具-MysqlBench(2)

发表于:2012-10-31来源:百度质量部作者:不详点击数: 标签:性能测试工具
如何使用 你只需要根据规定的文件格式组织SQL命令和预期结果,通过php AutoSQL.php command.sql expect.result就可以自动化执行SQL命令,并与预期结果校验。 命令

  如何使用

  你只需要根据规定的文件格式组织SQL命令和预期结果,通过php AutoSQL.php command.sql expect.result就可以自动化执行SQL命令,并与预期结果校验。

  命令格式

  通过php AutoSQL.php -h 可以获知AutoSQL工具可以支持的命令列表,如下:

  php AutoSQL.php [command]

  command:

  -h print this usage

  query_file expect_file

  query_file store sql command, file pattern: case_name##sql command##

  expect_file store expected result of query, file pattern: case_name##query fail or not##[NOCHECK##]effect rows[##ORDER(result order)]##false(insert,update,delete,replace) or result num(select)##row1##row2##…##

  -r [-d pathname]: run cases in the path, default is current directory.

  -c [-d logpath]: check run result from log files, default is log directory in current directory

  如上所述,具体说明如下:

  1. 执行单个文件:php AutoSQL.php query_file expect_file,文件格式见下文

  2. 执行某个文件夹下的所有command文件:php AutoSQL.php -r -d pathname,支持绝对路径和相对路径,默认为当前路径

  3. 批量查看case是否执行成功:php AutoSQL.php -c -d logpath,指定logs目录,自动化工具会列出所有fail的test suite和case,并展示在前台,默认为当前路径下的log目录

  文件格式

  query_file

  query_file的格式如下:

  case_name##sql command##

  各个参数说明如下:

  case_name: case名

  sql command:sql命令,sql command的命令格式与mysql官方规定的一致。

  例子:

  case0##delete from singleC;##

  case1##insert singleC (cID) values (30000), (30001);##

  case2##select * from singleC;##

  首先case0清空singleC表,然后case1插入两条记录,然后case2查询表singleC,确认记录是否插入成功

  expect_file

  expect_file的格式如下:

  case_name##query fail or not##[NOCHECK##]effect rows[##ORDER(result order)]##false(insert, update,delete,replace) or result num(select)##row1##row2##…##

  各个参数说明如下:

  case_name:case名,与query_file中的case_name一一对应

  query fail or not:命令预期执行失败与否

  NOCHECK:该选项指明只需判断query是否正常,不判断结果

  effect rows:insert、delete、update、replace操作时受影响的行数,select操作时effect rows为-1

  ORDER(result order):该选项只适合于select操作,配置为ORDER时,select结果要求与预期的结果完全一致,包括顺序。不指定ORDER时,select结果与预期结果内容一致即可,顺序不考虑。

  false(insert,update,delete,replace) or result num(select):select操作时为返回的结果行数,insert、update、delete、replace时为false

  row1##row2##…##:每行的预期内容,一行中每个字段以逗号(,)分隔。

  例子:

  case0##true##NOCHECK##

  case1##true##2##false##

  case2##true##-1##2##30000,,,vincent,100##30001,,,vincent,100##

  case0带NOCHECK,仅判断query是否成功,case1插入两条记录的作用是effected rows为2,case2查询出2两条记录,为case1插入的记录

  帮助

  mail:qablog@baidu.com

原文转自:http://www.ltesting.net