领测软件测试网
使用QuickTest Professional(QTP)需要掌握的小技巧
17、Q: 如何参数化link
Browser("Browser").Page("Page").Sync Browser("Browser").Navigate "http://www.51testing.com/cgi-bin/index.php" Browser("Browser").Page("51Testing软件测试论坛---软件测试,软件质量工程师").Sync
Set tags=Browser("Browser").Page("51Testing软件测试论坛---软件测试,软件质量工程师").Object.links Dim i,j, arr() i=0 For Each element in tags If Ucase(element.tagname)="A" and left(element.InnerText,1)="[" Then ReDim Preserve arr(i+1) arr(i)=element.InnerText i=i+1 end if Next
For j=0 to i Browser("Browser").Page("51Testing软件测试论坛---软件测试,软件质量工程师").Link("[ 版主讨论区 ]").SetTOProperty "Text",arr(j) Browser("Browser").Page("51Testing软件测试论坛---软件测试,软件质量工程师").Link("[ 版主讨论区 ]").Click Browser("Browser").Back Next |
这段代码先是打开一个空的页面,然后输入url.到达论坛首页。然后得到所有版面的名称,也就是link的名称,存到数组里面。然后使用SetTOProperty更换录制时候录下的link的属性,这时候再click。
18、Q:QTP 在Debug狀態,在Export View 區域不能寫入任何東西
A: 如果你的目的是在debug过程中修改已执行过的命令,可以在Debug view的Command中执行命令,如重新执行已经执行过的命令,修改变量的值等等。
如:Window("Flight Reservation").WinEdit("Name:").Set "51testing"
已经执行,如果现在想修改“51testing”为“testing”,可以在command中执行
Window("Flight Reservation").WinEdit("Name:").Set "testing"
19、Q:动态变化值如何获取
A:VAL=Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").GetROProperty("Value")
Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").select val
20、Q:如何一一获得Table中 某栏 link 的 text?
A:通过上面link 的学习. 我终于融会贯通,完成了我的问题: 与大家共享:
Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Image("Tplus").Click Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Image("Tplus_2").Click Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Link("开课设置").Click Browser("Login").Page("Page").Frame("main").WebList("drpStatus").Select "任意" Browser("Login").Page("Page").Frame("main").WebButton("查找").Click Browser("Login").Page("Page").Sync
Dim finded,findCode,Nowout 'define a constrat for find findCode = 110901 finded = false
Function MaxPage(pageString) 'msgbox pageString Dim ilen,i,j ilen = len(pageString) i=ilen While i>0 j = mid(pageString,i,1) 'msgbox j If instr("123456789",j)>0 Then MaxPage = j 'msgbox MaxPage Exit function End If i=i-1 Wend End Function
Dim trowcount,maxp trowcount = Browser("Login").Page("Page").Frame("main_8").WebTable("开课代码").RowCount msgbox "Rowcount: "&trowcount Nowout = Browser("Login").Page("Page").Frame("main_8").WebTable("开课代码").GetCellData(trowcount,1) Nowout = trim(Nowout) maxp = MaxPage(Nowout) msgbox "max page: "& maxp
Dim nowPage,checkid For nowPage = 1 to maxp If finded Then Exit for End If ' link to the 当前所需page If nowpage>1 Then Browser("Login").Page("Page").Frame("main_8").Link("[2]").SetTOProperty "Text","["&nowpage&"]" Browser("Login").Page("Page").Frame("main_8").Link("[2]").Click Browser("Login").Page("Page").Sync end if
' Get the rowcount of table in now page trowcount = Browser("Login").Page("Page").Frame("main_8").WebTable("开课代码").RowCount msgbox "Rowcount: "&trowcount
'link every record in the table of the page for i = 2 to trowcount - 2 Nowout = Browser("Login").Page("Page").Frame("main_8").WebTable("开课代码").GetCellData(i,2) 'msgbox i&": "&Nowout
checkid = "dgCourse:_ctl" &(i+1)& ":_ctl0" Browser("Login").Page("Page").Frame("main_8").WebCheckBox("dgCourse:_ctl3:_ctl0").SetTOProperty "name",checkid Browser("Login").Page("Page").Frame("main_8").WebCheckBox("dgCourse:_ctl3:_ctl0").Set "ON"
Browser("Login").Page("Page").Frame("main_8").Link("0901").SetTOProperty "Text",Nowout Browser("Login").Page("Page").Frame("main_8").Link("0901").Click Browser("开课设置详细信息").Page("开课设置详细信息").Sync 'wait(1) msgbox "begun" msgbox findCode msgbox Nowout msgbox "finished" If trim(findCode) = trim(Nowout) Then finded = true msgbox "find is ok!" wait(2) Exit for End If Browser("开课设置详细信息").Close Browser("Login").Page("Page").Sync next
Next |
文章来源于领测软件测试网 https://www.ltesting.net/