TestSettings->Run注:①Global全局變量循環一次,本地Action表全部運行一次②刪除表的內容:Edit->Delete③修改列名:鼠標右擊對應的列Example4:Flight程序登錄驗證DataTable:us" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

自動化測試(三):QTP參數化

系統 2208 0

1 Datatable參數化

???????? Global表的數據可以被所有的action訪問,Action的數據只能被對應的Action訪問

???????? 本地表循環的次數設置:Action Call Properties

???????? Global表循環的次數設置:File -> Test Settings -> Run

?

注:

???????? ① Global全局變量循環一次,本地Action表全部運行一次

???????? ② 刪除表的內容:Edit -> Delete

???????? ③ 修改列名:鼠標右擊對應的列

?

Example4 Flight程序登錄驗證

Data Table

?

username

password

errmsg

1

?

mercury

Please enter agent name

2

mer

mercury

Agent name must be at least 4 characters long

3

mercury

?

Please enter passwoed

4

mercury

mercury

null

Text

dialog("Login").WinEdit("Agent Name:").Set datatable("username","login")

dialog("Login").WinEdit("Password").Set datatable("password","login")

dialog("Login").WinButton("OK").Click

expected_result = datatable("errmsg","login")

If dialog("Login").Dialog("Flight Reservations").Exist Then

???????? actual_result = dialog("Login").Dialog("Flight Reservations").Static("errmsg").GetROProperty("text")

if expected_result = actual_result Then

?????????????????? reporter.ReportEvent micPass, "登陸驗證","輸入錯誤的用戶名和密碼,彈出正確的提示信息!"

else

?????????????????? reporter.ReportEvent micFail, "登陸驗證","輸入錯誤的用戶名和密碼,彈出錯誤的提示信息!"

End if

dialog("Login").Dialog("Flight Reservations").WinButton("確定").Click

else

???????? If expected_result = "null" Then

?????????????????? If window("Fight Reservations").Exist Then

??????????????????????????? Reporter.ReportEvent micPass, "登陸驗證","輸入正確的用戶名和密碼,登陸系統成功!"

?????????????????? else

??????????????????????????? Reporter.ReportEvent micFail, "登陸驗證","輸入正確的用戶名和密碼,登陸系統失?。?

?????????????????? End If

???????? else

?????????????????? Reporter.ReportEvent micFail, "登陸驗證","輸無效的用戶名和密碼,系統沒有任何響應!"

???????? End If

End If

?

Practice2 Agileone自動登錄驗證

Data Table

username

password

errmsg

?

admin

出錯啦: 用戶名不能為空 ...

adm

admin

出錯啦: 找不到該用戶名 ...

admin

adm

出錯啦: 密碼輸入錯誤 ...

admin

admin

null

Text

Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebEdit("WebEdit").Set? datatable("username","Action1")

Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebEdit("WebEdit_2").Set datatable( "password","Action1")

Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").Image("loginbt").Click

expected_result = datatable("errmsg","Action1")

If? Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebElement("errmsg").Exist Then

???????? actual_result = Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebElement("errmsg").GetROProperty("innertext")

???????? If? expected_result = actual_result Then

?????????????????? reporter.ReportEvent micPass,"登陸驗證","輸入錯誤的用戶名和密碼,提示正確的提示信息!"

?????????????????? else

?????????????????? reporter.ReportEvent micFail,"登陸驗證","輸入錯誤的用戶名和密碼,提示錯誤的提示信息!"

???????? End If

else

???????? If expected_result = "null" Then

?????????????????? If? Browser("AgileOne - Welcome to").Page("AgileOne - Power to Agile").WebElement("wellcome").Exist Then

???????? reporter.ReportEvent micPass,"登陸驗證","輸入正確的用戶名和密碼,登陸系統成功!"

???????? Browser("AgileOne - Welcome to").Page("AgileOne - Power to Agile").Link("exit").Click

???????? else

???????? reporter.ReportEvent micFail,"登陸驗證","輸入正確的用戶名和密碼,系統登陸失敗!"

?????????????????? End If

?????????????????? else

?????????????????? reporter.ReportEvent micFail,"登陸驗證","輸入無效的用戶名和密碼,系統無響應!"

???????? End If

End If

2 Excle參數化

利用datatable 對象導入

???????? Import:將指定的Excle的所有數據導入,第一個sheet導入Global,第二個導入Action1,以此類推

???????? ImportSheet:可將指定的sheet頁導入到指定的表中,第一行默認導入為列標題

???????? QTP只支持Excle2003,將Excle另存為Excle2003

Example1 datatabe.ImportSheet"C:\123.xls","Sheet1","Action1" (在代碼開始前加入)

?

通過環境變量

???????? 環境變量設置:File -> Setting -> Environment -> Variable:User-defined 添加環境變量,用戶定義的環境變量,需要自己定義變量名和值,定義好后就可以用這些變量去參數化腳本中的常量。

Example2 Dialog("Login").WinEdit("Agent Name:").Set Environment("password")

?

Example3 Excle讀取、寫入操作(Filith程序)

datatable

username

password

errmsg

actual_result

test_result

?

mercury

Please enter agent name

?

?

mer

mercury

Agent name must be at least 4 characters long

?

?

mercury

?

Please enter passwoed

?

?

mercury

mercury

null

?

?

Text

datatabe.ImportSheet"C:\123.xls","login","Action1"

For i=1 to datatable.GetSheet("Action1").GetRowCount

???????? dialog("Login").WinEdit("Agent Name:").Set datatable("username","Action1")

???????? dialog("Login").WinEdit("Password").Set datatable("password","Action1")

???????? dialog("Login").WinButton("OK").Click

???????? If dialog("Login").Dialog("Flight Reservations").Exist Then

?????????????????? expected_result = datatable("errmsg","login")

?????????????????? actual_result = dialog("Login").Dialog("Flight Reservations").Static("errmsg").GetROProperty("text")

?????????????????? if expected_result = actual_result Then

??????????????????????????? datatable("actual_result", "Action1")=actual_result

??????????????????????????? datatable("test_result", "Action1")="pass"

?????????????????? else

??????????????????????????? datatable("actual_result", "Action1")=actual_result

??????????????????????????? datatable("test_result", "Action1")="Fail"

?????????????????? End If

?????????????????? dialog("Login").Dialog("Flight Reservations").WinButton("確定").Click

???????? End If

???????? datatable.GetSheet("Action1").SetNextRow

Next

datatable.Export"C:\Flight_result.xls"

?

Practice1 Agileone登錄讀取、寫入Excle(window7,需調試)

寫入Excle 的函數:

Function QTP_WriteExcel(sExcelName,SheetNum,x,y,Content)

Set xlsobj=createobject("excel.application")

Set xlsbook=xlsobj.Workbooks.Open(sExcelName)

Set xlssheet=xlsbook.Sheets(SheetNum)

xlssheet.cells(x,y)=Content

xlsbook.Save

xlsbook.Close

End Function

調用: QTP_WriteExcel"C:\Users\In_october\Desktop\agileone.xls","sheet2",5,5,"abcde"

Text

Function QTP_WriteExcel(sExcelName,SheetNum,x,y,Content)

Set xlsobj=createobject("excel.application")

Set xlsbook=xlsobj.Workbooks.Open(sExcelName)

Set xlssheet=xlsbook.Sheets(SheetNum)

xlssheet.cells(x,y)=Content

xlsbook.Save

xlsbook.Close

End Function

?

Col=5

Row=2

datatable.ImportSheet"C:\Users\In_october\Desktop\agileone.xls","Sheet1","Action1"

Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebEdit("WebEdit").Set? datatable("username","Action1")

Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebEdit("WebEdit_2").Set datatable( "password","Action1")

Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").Image("loginbt").Click

expected_result = datatable("errmsg","Action1")

If? Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebElement("errmsg").Exist Then

???????? actual_result = Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebElement("errmsg").GetROProperty("innertext")

???????? QTP_WriteExcel"C:\Users\In_october\Desktop\agileone.xls","sheet2",Row,Col,actual_result

???????? Row=Row+1

???????? If? expected_result = actual_result Then

?????????????????? reporter.ReportEvent micPass,"登陸驗證","輸入錯誤的用戶名和密碼,提示正確的提示信息!"

?????????????????? else

?????????????????? reporter.ReportEvent micFail,"登陸驗證","輸入錯誤的用戶名和密碼,提示錯誤的提示信息!"

???????? End If

else

???????? If expected_result = "null" Then

?????????????????? If? Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").WebElement("wellcome").Exist Then

???????? reporter.ReportEvent micPass,"登陸驗證","輸入正確的用戶名和密碼,登陸系統成功!"

???????? Browser("AgileOne - Welcome to").Page("AgileOne - Welcome to").Link("exit").Click

???????? else

???????? reporter.ReportEvent micFail,"登陸驗證","輸入正確的用戶名和密碼,系統登陸失敗!"

?????????????????? End If

?????????????????? else

?????????????????? reporter.ReportEvent micFail,"登陸驗證","輸入無效的用戶名和密碼,系統無響應!"

???????? End If

End If

3 對象庫管理

保存共享數據庫: Action1的對象數據庫 -> File -> Export Local Objects -> Save

關聯共享數據庫: Action2關聯Action1的對象數據庫:右鍵點擊Action2 –> Association Repository to local -> 選擇文件,Open,關聯的對象數據庫不能修改

關聯的對象數據庫修改: 1.本地修改,加入到本地對象數據庫 2.全局修改,在Objict Repository中修改

Action 管理: 調用Action? 增加Action? 劃分Action? Action管理的原則

Action 管理的原則:

???????? 1.每個Action其實就是一個用戶場景,如登錄,訂票,退出等

???????? 2.每個業務流程由若干個用戶場景組成,即由若干個Action組成,在業務流程測試時需要首先分析該流程可以劃分為多少個用戶場景

???????? 3.Action劃分的粒度以是否方便作為可復用Action被其他業務流程復用為標準,不能太粗也不能太細

?

Example1 訂票業務場景(Flight程序)

???????? 訂票業務場景,劃分為3個業務場景:login,order,logout? Reusable Action打勾才能被其他的調用

???????? 1.創建對象庫,新建3個Action:login,order,logout

???????? 2.-> Record業務流程

???????? 3.Save Test

???????? 4.新建Action:Call to Copy of Action 選擇Test

???????? 5.劃分Action:定位鼠標,-> Split Action

自動化測試(三):QTP參數化


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲人成在线播放网站 | 色综合天天综合高清网国产 | 草莓视频69 | 精品日韩在线观看 | www.国产一区| 欧美高清成人 | 一级特黄视频 | 成人午夜大片免费视频77777 | 久热香蕉精品视频在线播放 | 日韩三级视频 | 丁香综合五月 | 一级毛片一| 高清中文字幕免费观在线 | 久久久久久久久成人 | 欧美大尺码毛片 | 免费播放特黄特色毛片 | 国产精品夜夜春夜夜爽久久 | 亚洲区国产区 | 亚洲精视频 | 欧美zzzz| 国产男女交性视频播放 | 偷拍—91porny九色 | 夜夜爽99久久国产综合精品女不卡 | 五月伊人婷婷 | 日日操美女| 99久热re在线精品99 6热视频 | 午夜免费 | 亚洲人成免费网站 | 国产一区二区三区久久久久久久久 | 欧美精品 在线观看 | 久久国产精品视频 | 91看片淫黄大片欧美看国产片 | 91在线视频免费观看 | 热久久这里只有精品 | 偷偷狠狠的日日2020 | 久久一日本道色综合久久 | 免费a级毛片 | 国产男女自拍视频 | 欧美成人精品一区二区男人看 | 国产网站视频 | 欧美日韩国产一区二区三区播放 |