在当今IT界没有数据库的话,大家想象一下,会是什么样子?
Mercury公司为QTP也提供了对数据库的数据进行操作的方法,同时也有数据库检查点的设置,我在测试过程中,就是使用SQL Server2000进行数据管理的。目前我还没有学习到Oracle(^_^,很惭愧)。
利用数据库来进行测试数据的管理有几个优点:1. 数据便于统一管理2. 方便修改、查询3. 便于进行对已经修改的数据进行数据库检查点设置来检查数据是否修改成功4. 脚本的可重用性提高 5. 脚本与数据分离,脚本的维护工作量减少
QTP的脚本调用数据库中的数据有2种方法:1. 利用用户DSN数据源 2. 直接连接数据库
1. 本地没有创建数据源的方式
DRIVER=SQLServer;SERVER=数据库IP地址;UID=用户名;PWD=密码;APP=Microsoft Office 2003;WSID=本地主机名;DATABASE=数据库名
2. 本地已创建数据源的方式
DSN=数据源名称;UID=用户名;PWD=密码;APP=Microsoft Office 2003;WSID=数据库的主机名;DATABASE=数据库名
注:虚线框中的是引用别人的
你可以建立一个DBFunction.vbs文件,将你编制的数据库调用的函数(如:连接、查询、修改。。。)全部放在这个文件中(建议:DBFunctions与你的公共函数不要放在一起),然后通过QTP引用资源文件,在菜单中选择“文件”——>“设置”——>“资源”,然后将你的函数库文件添加到这个关联函数库文件下。这样你的脚本就可以使用这些函数了。
当然,有人不愿意这样做。还有一个方法,就是在每个脚本的开头使用下面的脚本代码引用你自定义的函数库文件:
ExecuteFile “FileName” //例如:ExecuteFile “D:\Functions\DBFunction.vbs”
当数据库中的数据需要修改时,调用完修改数据库数据的函数后,在此函数后的一行脚本脚本可以添加数据库检查点来检查你刚才修改的数据是否成功,数据库检查点的方法见:QTP的帮助文档。
OK,这样就设置完成了数据库的数据驱动方式
利用环境变量
我觉得Mercury公司考虑事情很周到,连环境变量的功能也添加进去了(不知道我高兴是不是有道理,目前的知识面不是很广,大家不要见怪啊)
环境变量的的适用范围就是本测试,本测试中的所有操作都可以调用。
环境变量有2种,一种是QTP的内置变量,一种是用户自定义的变量。内置变量是可以直接就可以用,自定义环境变量需要在菜单中选择“文件”——>“设置”——>“环境”,在变量类型中选择“用户自定义”,然后进行添加,可以对添加的变量全部导出,导出的文件为.xml格式的文档。既然可以导出,那么必然可以导入.xml文件,你可以在该对话框中的选中“从外部文件导入”,然后添加其文件路径即可。(当然这些操作都可以直接使用脚本来实现,如:Environment.LoadFromFile(“FileName”))
例如:在桌面建立一个Var.xml,如下
-<Environment> //以这个开始的内部都是定义环境变量,直到以</Environment>结束
- <Variable> // 变量定义起始标识
<Name>aa</Name> // 变量名称
<Value>11</Value> // 变量值
</Variable> // 变量定义结束标识
- <Variable>
<Name>bb</Name>
<Value>22</Value>
</Variable>
- <Variable>
<Name>cc</Name>
<Value>33</Value>
</Variable>
</Environment>
然后导入本测试的环境变量文件中,在专家视图里编写下面的脚本代码:
Dim aParam3
aParam3=Environment.Value(“aa”) // 调用环境变量
msgbox aParam3
运行测试,会输出”11”
OK,完成环境变量的初级知识的学习。
联系客服