51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4923|回复: 6
打印 上一主题 下一主题

[Robot] SQAGetProperty函数把我搞蒙了

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-10-7 11:50:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Result = SQAGetProperty("Caption=welcome - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=fraInterface;\;HTMLTitle=查询页面;Type=EditBox;Name=SumPremium","value",sProposalno)
  
    msgbox Result
   
    msgbox sProposalno

输出1003
结果为空
感觉层次都很清晰了,就是得不到控件,那位大侠能指点哈,经验什么的都能说说~
谢谢了~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-10-7 14:20:45 | 只看该作者
应该在HTMLTitle=查询页面前面加上一个Type=?(用inspector检测下),然后将HTMLTitle=查询页面后面的;改成;\;
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-10-7 15:01:12 | 只看该作者
原帖由 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语句前面加上上面的两句,可以得到了,但这不是重新定位吗。
疑问,在语句中定好位了,怎么还要重新定位
上楼大哥说的,还没做实验,一会做实验   呵呵
谢谢了~~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-10-7 17:35:13 | 只看该作者
该函数需要指定你要定位的当前页面才能找到相应控件,并返回相关的属性值
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-10-8 09:38:55 | 只看该作者
Result = SQAGetProperty("Type=HTMLFrame;HTMLId=fraInterface;\;Type=EditBox;Name=SumPremium","value",sbaofei)


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

HTMLId  与   htmltittle   为同一层
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-2-18 19:00:36 | 只看该作者
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)
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-2-18 19:04:44 | 只看该作者
除了可以用msgbox result来查看其值外,
还可以打开Robot的View-->Variables
单步调度时,就可以在该窗口中查看result的值了。

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

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-20 10:59 , Processed in 0.090275 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表