A.6.7 数据向导(Data Wizard)
很多时候我们需要大量的参数数据,但是光靠手工填写是非常麻烦的,既然被测对象的数据都在数据库中,那么直接读取数据库记录相对轻松简便得多,Data Wizard提供了一个从ODBC连接获得数据并转化成参数的手段。
1.配置ODBC
ODBC是Windows提供的一个通用数据库连接方式。首先设置ODBC,打开Windows控制面板下的管理工具,找到ODBC数据源,如图A.104所示。
图A.104 打开ODBC数据源设置
在出现的ODBC管理器中,需要为VuGen提供一个新的ODBC连接数据DSN,单击"系统DSN"标签,单击"添加"按钮,创建一个新的数据源。
ODBC提供了常见的各种数据库连接,唯独没有MySQL。这里我们需要通过ODBC连接MySQL数据库,所以先单独安装MyODBC驱动。从官方网站上下载mysql-connector-odbc-noinstall-5.1.8-winx64.zip,安装后可以在ODBC上看到MySQL ODBC 5.1驱动,选择该驱动,接着输入需要连接的MySQL服务地址及账号,在Database列表中选择phpwind 85数据库,单击Test按钮测试,如图A.105所示。
图A.105 添加MySQL数据连接
单击OK按钮,完成对phpwind 85数据库的ODBC连接。
2.从ODBC导入数据
当使用Data Wizard时,VuGen将提示下面的操作会覆盖当前表中所有的值。确定后弹出Database Query Wizard设置窗口,如图A.106所示。
图A.106 Database Query Wizard设置窗口
有两种输入查询方式:一种是使用微软查询器来查询;另一种是编写自定义的SQL语句进行查询。Maximum number of row可以用来设置最大记录返回条数,避免记录过多导致错误。选择Specify SQL statement manually,单击Next按钮,弹出查询语句设置窗口,如图A.107所示。
这里需要添加连接的ODBC串,并且写入对应的DML语句。单击Create按钮,在弹出的窗口中选择机器数据源,添加phpwind数据源(当使用Windows 2008 R2操作系统时这里存在一个问题,无法导入Connection字符串)。然后在下面的SQL中输入查询命令:
SELECT username FROM `pw_members`
查询论坛中所有的用户名信息,单击Finish按钮,如图A.108所示。
图A.107 Data Wizard查询语句设置窗口 图A.108 在Data Wizard查询窗口中添加查询语句
可以看到符合DML语句的记录被保存到了参数文件中。
思考题:
对于Phpwind论坛,如何模拟用户随机选择一个板块再随即选择一个帖子进行访问呢?
这里需要对论坛的数据结构有一个基础的了解,在Phpwind中所有的帖子都存放在pw_threads表中,而在这个表中存在两个属性,即fid、tid分别用来存放板块编号和帖子编号。
用户访问论坛浏览帖子主要分为3个步骤。
1、打开首页
2、选择板块
3、选择帖子
录制相关的脚本可以发现需要参数化的内容主要有两个:板块的fid和帖子的tid。将URL地址的对应信息参数化后可以得到以下脚本:
Action()
{
web_url("phpwind", "URL= http://localhost:8000/phpwind85/",LAST);
web_url("fid","URL=http://localhost:8000/phpwind85/thread.php?fid={forumid}",LAST);
web_url("tid","URL=http://localhost:8000/phpwind85/read.php?tid=
{topicid}",LAST);
Return 0;
}
那么参数从何而来呢?使用前面设置连接MySQL数据库的ODBC连接,然后通过Data Wizard进行访问,使用下面的SQL语句得到板块编号对帖子编号的对应关系:
SELECT 'tid', 'fid' FROM 'pw_threads'
然后只需要设置forumid为随机取值,topicid使用Same line as跟随forumid取值即可,如图A.109所示。
图A.109 通过Data Wizard获得Phpwind记录
到这里我们谈了很多有关于参数化的内容,接着来我们讨论一下参数和变量之间的关系。
版权声明:51Testing软件测试网获作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。