最近看了不少朋友寫的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.kjueaiud.com/