想往数据库中插入多个产品(比如说10个),但又不想在Data Table中输入参数,想到一个下面的方法:分别录制一个登陆脚本和添加产品的脚本,然后在新建一空白test,call这两个脚本,其中登陆脚本只执行一次,而添加产品的脚本执行多次。在添加产品的脚本中对产品名称和产品编码参数化。产品名称暂时用“产品商标+空格+数字+字母”组成(形如:LG 221BWX),而产品编码就是产品名称去掉前面的商标跟空格。为了简单起见,只有数字这项作变动,其它的都不变。声明两个变量,用来拼组产品名称和产品编码。现在的问题是怎么将变量的值作为参数使得其在添加产品脚本中被使用。现在的脚本如下:
添加产品脚本一开始录制的脚本是这样的:
Browser("管理系统 | 主页").Page("管理系统 | 产品详细信息").WebEdit("productName").Set "LG 256BWX"
Browser("管理系统 | 主页").Page("管理系统 | 产品详细信息").WebEdit("productCode").Set "256BWX"
现在要做的就是把Dim productname,productcode 声明的两个变量的值传到这里供使用,为了实现这个目的,需做以下操作:
1.在File-Settings...中切换到Environment标签页,在Variable type下拉菜单中选择User_defined,如下图。
然后点击“+”图标,会出现一个窗口,如下图,在这里我们只需填入Name即可。
2.将声明变量的值传给环境变量,代码如下:
Environment("productname")=productname
Environment("productcode")=productcode
3.修改添加产品脚本中以下代码
Browser("管理系统 | 主页").Page("管理系统 | 产品详细信息").WebEdit("productName").Set "LG 256BWX"
Browser("管理系统 | 主页").Page("管理系统 | 产品详细信息").WebEdit("productCode").Set "256BWX"
为:
Browser("管理系统 | 主页").Page("管理系统 | 产品详细信息").WebEdit("productName").Set Environment("productname")
Browser("管理系统 | 主页").Page("管理系统 | 产品详细信息").WebEdit("productCode").Set Environment("productcode")
4.保存,run脚本,测试通过
如何利用好qtp环境变量
QTP使用环境变量
QTP使用环境变量的方法有两种,一种是自己设置环境变量,这种方法有很多朋友介绍过,不过我在使用的时候,更喜欢把它写在脚本中,这样不管脚本是移植到哪台机器上,环境变量都不用重新设置了,是不是方便很多,例如某个项目的主控脚本具体代码如下:Dim Excel,Workbook,WorkSheet,run_value,scrīpt_nameDim filepath,bnpFileNameEnvironment.Value("file_pash") = "C:\Documents and Settings\robel.yi\Desktop\BNP_scrīptS"filepath=environment("file_pash")bnpFileName=filepath & "\Data_file\Main_DATA.xlsx"Set Excel= CreateObject("Excel.Application")Set Workbook= Excel.Workbooks.Open(bnpFileName)Set WorkSheet= workbook.Worksheets("Sheet1")For i = 2 To 6run_value=CStr(WorkSheet.Cells(i, 3))If run_value = "Y" ThenRunAction CStr(WorkSheet.Cells(i, 2))End IfNextExcel.QuitSet Workbook = nothingSet WorkSheet = nothing这样,每次如果你把脚本移植到了另外一个地方,把新的路径赋值给环境变量file_pash就行了,其实也可以把它写在主控脚本的EXCEL驱动表里面,每次有变量在EXCEL里面修改就行了,对于把脚本给其他黑盒工程师来执行的时候,更加容易使用,其实有时候我们在写脚本的时候,一些小小的改动就能使自动化变得更智能方便,大家还有什么关于环境变量的使用的好的心得也不妨一起分享分享。