使用datatable 将测试数据与业务分离

      当基本一致的业务流程, 需要测试繁杂的测试数据时,就可以将测试数据参数化了,同时使用datatable来实现测试数据与业务分离,这个方法在我现在的项目中应用在很多地方,感觉超级方便,现对工作中的应用做下总结:

1、在本地建个EXCEL , 用于存储测试数据的参数名及参数值。

2、在QTP中设置EXCEL路径

   打开QTP->File->setting->environment->Variable(选择User-defined)-> 点击...设置如下图:

   

通过设置localpath,使测试数据表不需要设放置在统一的路径下,增加Excel路径灵活度。实现无论在谁的电脑上跑脚本都可以通过QTP设置的localpath调到本地提前放好的Excel测试数据表。

 类似代码如下:

localpath = Environment.value("localpath")
DataTable.AddSheet("login")
DataTable.ImportSheet localpath&"login.xls","login","login"
rowCount1 = DataTable.GetSheet("Login").GetRowCount
SystemUtil.Run "C:Program FilesInternet ExplorerIEXPLORE.EXE","http://deliver.sinosure.com.cn"
For i = 1 to rowCount1
  datatable.SetCurrentRow(i)
  user = DataTable.Value("user","Login")
 pwd = DataTable.Value("pwd","Login")
 Browser("中国出口信用保险公司.*").Page("中国出口信用保险公司.*").WebEdit("username").Set user
Browser("中国出口信用保险公司.*").Page("中国出口信用保险公司.*").WebEdit("password").Set pwd
Browser("中国出口信用保险公司.*").Page("中国出口信用保险公司.*").WebButton("登录").Click
Browser("中国出口信用保险公司.*").Page("中国出口信用保险公司.*").WebButton("注销").Click

Next

  测试数据表如下:

         

PS:QTP支持xls后缀的excel文档,不支持xlsx后缀的

  

    

原文地址:https://www.cnblogs.com/wangcp-2014/p/4213546.html