为什么我取不到下拉框内的值呢?
各位达人,我现在想取得一个下拉框内的所有值,代码如下:Sub Main
Dim Result As Integer
dim varStr as string
'Initially Recorded: 2005-10-209:21:29
'Script Name: temp3
StartBrowser "http://10.200.1.66", "WindowTag=web"
Window SetContext, "WindowTag=web", ""
Browser NewPage,"HTMLTitle=集成环境",""
HTMLLink Click, "HTMLText=设立部门", ""
Browser SetFrame,"Type=HTMLFrame;HTMLId=main",""
Browser NewPage,"HTMLTitle=集成环境",""
SQAGetProperty "Type=ComboBox;Name=select2","innerText",varStr
msgbox varStr
End Sub
脚本回放时,msgbox中的内容是空的,没有取得任何值。但log里面显示是通过的,是怎么回事呢?
[ Last edited by ilovejolly on 2005-10-24 at 15:17 ]
斑竹在吗?有没有谁可以帮帮我啊
我通过定位后SQAGetProperty "HTMLTitle=集成环境;\;Type=HTMLFrame;HTMLId=main;HTMLTitle=集成环境;\;Type=ComboBox;Name=select2","innerText",varStr
msgbox Result
仍返回1003错误,为什么呢? 杂志上有一篇介绍这个函数用法的文章
http://www.51testing.com/emagzine/No2_6.htm 这个我也看过,也是按照上面写的定义了父框架,但robot还是找不到,我感到很奇怪 你的函数格式,极可能是不正确的。这个格式包含两个方面,一个是属性,一个是定位控件的方法。你可以自己调试下,方法很多,思维可以灵活点。比如,首先不要说有框架的,找个没框架的web试,看能不能取到。这样来慢慢的定位问题。
希望对你有帮助。 我想问问各位,有没有遇到过这种情况,使用了iframe的网站,最外层的页面title和frame内的页面的title是一样的,这样robot能不能定位到main区域(frame)内的某个控件呢?我试了没有定位成功,返回1003错误。各位碰到过这种情况吗 ?如果真的不能定位的话,应该如何解决这样的问题呢? 你定位的时候,带的参数是htmlid,这个是不一样的
还是没有取到下拉框内的值,望指点!
各位达人,我看了斑竹推荐的文章后,反复试验,始终未正确取到下拉框内的值。现我将代码和相关图片贴出来,希望各位给予指点!!Sub Main
Dim Result As Integer
'Initially Recorded: 2005-10-249:55:07
'Script Name: temp4
StartBrowser "http://10.200.1.66/index.html", "WindowTag=web"
Window SetContext, "WindowTag=web", ""
Browser NewPage,"HTMLTitle=办公集成环境",""
HTMLLink Click, "HTMLText=设立机关", ""
Browser SetFrame,"Type=HTMLFrame;HTMLId=main",""
Browser NewPage,"HTMLTitle=办公集成环境",""
ComboBox Click, "Type=ComboBox;Name=select2", ""
'ComboListBox Click, "Type=ComboListBox;Name=select2", "Text=正科级"
result=sqagetproperty("HTMLTitle=办公集成环境;\;Type=HTMLFrame;HTMLId=main;HTMLTitle=
办公集成环境;\;Type=ComboBox;Name=select2","innerText",strText)
msgbox strText 'msgbox内的内容为空白,没有返回任何错误代码
End Sub
由于不好贴图,相关图片附于附件内 你这个层次关系对不对啊,用抓验证点的方式在这个下拉框上抓一下,把代码贴出来看一下呢 参考一下这个代码
Window SetTestContext, "Caption=Agile Advantage - Microsoft Internet Explorer", ""
' Browser SetFrame,"Type=HTMLFrame;HTMLId=RightPane",""
' Browser NewPage,"HTMLTitle=Select SubClass And Number",""
' Result = ComboBoxVP (CompareProperties, "Type=ComboBox;Name=subClassId", "VP=Object Properties3")
Window ResetTestContext, "", ""
Result=SQAGetProperty("Caption=Agile Advantage - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=RightPane;\;Type=ComboBox;Name=subClassId","innerText", str1)
问题解决了
现在该问题已经解决了。我参考了robot help中的ComboBoxVP函数附带的一个example后,照着上面的写法试了一下,果然成功了。那个example中关于验证点的语句是这样写的:Result = ComboBoxVP (CompareData, "Type=HTMLFrame;HTMLId=Main;\;Type=ComboBox; Name=Selectlist", "VP=SELECTVP1;Wait=2,30")大家注意看,该句的"Type=HTMLFrame;HTMLId=Main;\;Type=ComboBox; Name=Selectlist"-------它同样是定位一个frame内的combobox控件,但其并没有写第一个“HTMLTitle=”的内容,所以我联想到我这样的情况是不是同样也可以这样进行定位。结果我修改我上午的代码如下:
Sub Main
Dim Result As Integer
dim strText as variant
'Initially Recorded: 2005-10-249:55:07
'Script Name: temp4
StartBrowser "http://10.200.1.66/index.html", "WindowTag=web"
Window SetContext, "WindowTag=web", ""
Browser NewPage,"HTMLTitle=办公集成环境",""
HTMLLink Click, "HTMLText=设立机关", ""
Browser SetFrame,"Type=HTMLFrame;HTMLId=main",""
Browser NewPage,"HTMLTitle=办公集成环境",""
ComboBox Click, "Type=ComboBox;Name=select2", ""
'ComboListBox Click, "Type=ComboListBox;Name=select2", "Text=正科级"
result=sqagetproperty("Type=HTMLFrame;HTMLId=main;\;Type=ComboBox;Name=select2","innerText",strText)
msgbox strText
End Sub
运行,果然strText返回了期望的值。
现在这个result的写法跟司空斑竹写的result有所不同,也就是我原来的那种写法。原因现在还不太清楚,希望各位可以对照代码讨论讨论,相信会对有frame的页面的控件抓取会有所帮助,也希望碰到同样情况的同仁可以参考我的做法试一试,看能否成功。
页:
[1]