数据驱动在QTP的运用

发表于:2008-09-25来源:作者:点击数: 标签:qtpQTP驱动数据
前言: 最近看了不少朋友写的blog文章后,就越显自己的文章比较稚嫩.但我觉得这也是一种 学习 的方式,现在抱着一种共同学习的态度来探讨一下数据驱动在 QTP 中运用.很希望看我文章朋友能不吝啬的发表一下自己对这个方面的看法,那真是万分感谢啊. 所谓数
 前言:

   最近看了不少朋友写的blog文章后,就越显自己的文章比较稚嫩.但我觉得这也是一种学习的方式,现在抱着一种共同学习的态度来探讨一下数据驱动在QTP中运用.很希望看我文章朋友能不吝啬的发表一下自己对这个方面的看法,那真是万分感谢啊.

   所谓数据驱动就是用一个数据文件把测试脚本驱动起来,来达到更接近用户化更智能的测试.其目的是把测试人员从维护复杂的脚本程序中解放出来,只需维护好数据文件即可,减少了很多修改脚本的麻烦.下面讲一下通过四种途径来达到数据驱动.

1.datatable

        QTP本身程序就给我们提供了这么一个数据表,我们可以把测试数据或测试用例填入这个数据表中.

如:设计用例

   username  passwd

case1  mercury mercury

case2 xxxxxxx xxxxxx

录制脚本

For i=1 to Datatable.GetRowCount
Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").Set DataTable("passwd", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
datatable.GlobalSheet.SetNextRow
Next

        本例是验证一个登录系统,通过DataTable不同的用例设计,驱动起这段脚本,达到测试的效果.当然上面的例子中还少一个很重要的步骤,那就是结果比较.如果不能进行结果比较的自动化测试不能够称为自动化测试.
        当然我们这里主要讲的是数据驱动,所以不在对上面的例子进行补充.

2.文本文件

        我们可以把文本文件当成数据文件,通过对文本文件的读写操作,来实现数据驱动.

例:文本文件内的内容

  mercury,mercuy

读文件的代码

Function writeorderno(orderno)
Dim fso, myfile,username,passwd
Set fso=CreateObject("scrīpting.FileSystemObject")
Set myfile=fso.openTextFile("C:\testing.txt",1,false)
tmp=split(myfile.readline,",")
username=tmp(0)
passwd=tmp(1)
myfile.close
End Function

写文本文件的代码

Function writeorderno(orderno)
Dim fso, myfile
Set fso=CreateObject("scrīpting.FileSystemObject")
Set myfile=fso.openTextFile("C:\result1.txt",8,false)
myfile.writeline orderno
myfile.close
End Function

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