51Testing软件测试论坛

标题: SQAGetProperty函数把我搞蒙了 [打印本页]

作者: amokeeper    时间: 2008-10-7 11:50
标题: SQAGetProperty函数把我搞蒙了
Result = SQAGetProperty("Caption=welcome - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=fraInterface;\;HTMLTitle=查询页面;Type=EditBox;Name=SumPremium","value",sProposalno)
  
    msgbox Result
   
    msgbox sProposalno

输出1003
结果为空
感觉层次都很清晰了,就是得不到控件,那位大侠能指点哈,经验什么的都能说说~
谢谢了~
作者: ChanJian910    时间: 2008-10-7 14:20
应该在HTMLTitle=查询页面前面加上一个Type=?(用inspector检测下),然后将HTMLTitle=查询页面后面的;改成;\;
作者: amokeeper    时间: 2008-10-7 15:01
原帖由 amokeeper 于 2008-10-7 11:50 发表
Result = SQAGetProperty("Caption=welcome - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=fraInterface;\;HTMLTitle=查询页面;Type=EditBox;Name=SumPremium","value",sProposalno)
  
    msgbox Resu ...


Window SetTestContext, "Caption=welcome - Microsoft Internet Explorer", ""

    Window ResetTestContext, "", ""

在Result语句前面加上上面的两句,可以得到了,但这不是重新定位吗。
疑问,在语句中定好位了,怎么还要重新定位
上楼大哥说的,还没做实验,一会做实验   呵呵
谢谢了~~
作者: ChanJian910    时间: 2008-10-7 17:35
该函数需要指定你要定位的当前页面才能找到相应控件,并返回相关的属性值
作者: amokeeper    时间: 2008-10-8 09:38
Result = SQAGetProperty("Type=HTMLFrame;HTMLId=fraInterface;\;Type=EditBox;Name=SumPremium","value",sbaofei)


修改下语句,在同种情况下,上面语句能够找到值,好象必须是指明层次关系了,才会返回正确控件值吧

HTMLId  与   htmltittle   为同一层
作者: bag4043    时间: 2009-2-18 19:00
Result=1003,表示你所要读取的控件没有找到,说明recMethod部分的语法还是对的。这种情况经常出现在抓取含有网页层次关系的控件中。如果网页层次关系没有表示好,就会出现找不到控件的错误。

建议使用robot本身的辅助工具——insqector进行分析。

举个例子,如下:

可以首先用Object Properties抓取这个button。

得结果为:

Window SetTestContext, "Caption=新建网页 2 - Microsoft Internet Explorer", ""

Browser SetFrame,"Type=HTMLFrame;HTMLId=main",""

Browser NewPage,"HTMLTitle=新建网页 3",""

Result = PushButtonVP (CompareProperties, "Type=PushButton;Name=B3", "VP=Object Properties")

Window ResetTestContext, "", ""

以上语句就可以使用SQAGetProperty函数编写脚本为:

Result = SQAGetProperty("Caption=新建网页 2 - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=main;HTMLTitle=新建网页 3;\;Type=PushButton;Name=B3", "Value", StateString)
作者: bag4043    时间: 2009-2-18 19:04
除了可以用msgbox result来查看其值外,
还可以打开Robot的View-->Variables
单步调度时,就可以在该窗口中查看result的值了。

常用的Result值有:
Result=0,表示SQAGetProperty语句正确,能够成功读取属性的值。
Result=1002,表示recMethod的语法是错误的,需要改正你的语法。
Result=1003,表示你所要读取的控件没有找到,说明recMethod部分的语法还是对的。这种情况经常出现在抓取含有网页层次关系的控件中。如果网页层次关系没有表示好,就会出现找不到控件的错误。
Result=1005,表示你要读取的属性没有找到。可能是你想抓取的值并不是控件的属性,也可能是在区分控件前的“\”丢失了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2