souchy 发表于 2009-11-9 11:52:51

QTP录制Mercury Tours过程中的判断语句使用困惑

Dim m,n,chkBrowser
Fori=1 to 5 step 1
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "test"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "4af3e00e2424bb4d8ac8603c8736"
chkBrowser=Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Exist(0)
msgbox chkBrowser
If chkBrowser   then
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 29,8
else
        Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").Image("Login").Click 43,6
End If
m=Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").GetROProperty("items count")
randomize
n=randomnumber(0,m)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "#"&n
m=Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").GetROProperty("items count")
randomize
n=randomnumber(0,m)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "#"&n
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebRadioGroup("servClass").Select "Business"
wait 5
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 70,9
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 75,9
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "aaa"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "bbb"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "2"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 82,7
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("Logout").Click
Next

这个脚本中,为了避免第二次登陆是出现的找不到Sign-In的警告,我加了IF判断,但实际情况是IF条件总是返回Ture(更正True),所以大为不解!如果有谁知道问题出在哪,望请告知!谢谢

[ 本帖最后由 souchy 于 2009-11-9 13:22 编辑 ]

walker1020 发表于 2009-11-9 12:20:48

1,返回值是 True ,   而不是Ture!
2, 根据Exist 来判断不太合理,因为这只能说明在此页面上次对象存在,而不能说明你能看到它。 如果它被隐藏了,你无法看到它,可是使用Exist 来判断 它的返回值仍然是 True

[ 本帖最后由 walker1020 于 2009-11-9 17:09 编辑 ]

souchy 发表于 2009-11-9 13:19:48

我也考虑过这种情况,但因为查看了页面的源文件没有发现有sign-in的字样,所以就不确定它是否隐藏着!

如果这里面真的隐藏着,那么我要采用哪种方法来实现预期的设计呢?如果方便,敬请赐教!!

garyyes 发表于 2009-11-9 14:55:18

If chkBrowser.exist and chkBrowser.GetROProperty("visible") = true then


end if

souchy 发表于 2009-11-9 16:59:19

感谢上面的朋友的热心指点,由此我对于这个问题的考虑面又有所拓展.
不过现在还没有找到有效的解决方法,因为chkBrowser=Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").GetROProperty("visible")
msgbox chkBrowser
返回的值同样都是True

在论坛里看到了以前也有人提了类似的问题,不过好象也没有最终得到解决:http://bbs.51testing.com/thread-132937-1-1.html

看了里面的评论,发现遇到类似问题的人还是挺多的!!
页: [1]
查看完整版本: QTP录制Mercury Tours过程中的判断语句使用困惑