51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4187|回复: 8
打印 上一主题 下一主题

[Robot] robot如何取页面输入域的文本内容

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-9-24 17:40:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想要在两个流程中建立关联,而第二个流程要取得第一个流程的编号做为开始才能进行下去.在第二个流程中,先输入第一个流程提供的编号,查询,显示该编号的链接,然后再点击这个链接进去操作。
我录制了一个完整过程,但是回放时失败了。因为HTMLLink Click, "Type=HTMLLink;HTMLText=TQAA200412010709000010", ""
这个语句中的htmltext中的编号仍是录制时编号,而回放时已是下一个编号。所以我想用SQAGetProperty取出输入的编号,用参数的形式取代htmltext中的编号。但是SQAGetProperty总是取不出输入域内的值。不知道我的这种方法行得通吗?有没有别的方法呢?

我在输入框中输入12345,然后打开inspector,里r里的hand拖了一下,在object properties and data的列表中,editbox,name=txtSoNo这一个的,html text,一项显示<input class=common maxlength=22 value=12345 name=txtSono>,看样子能取到我写的12345。可是为什么回放时取出不来呢?是不是回放还需要做什么设置?

很着急,请帮帮我!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
 楼主| 发表于 2004-9-27 10:36:37 | 只看该作者
经过试验,我发现一件事,公司内部所有浏览器版本对SQAGetProperty都取不出输入值来。但像google之类的外部网,就可以使用这个函数取数。为什么?难道SQAGetProperty不支持局域网内的浏览器版程序吗?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2004-9-27 19:44:28 | 只看该作者
应该是你的SQAGetProperty语句错误,可能你要测的网页是有框架结构的。
关于SQAGetProperty的使用,你可以参考一下“請問Robot 如何快速使用座標定位”以及“如何让combox自动选取它的子项“这两个帖子。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2004-9-28 10:34:35 | 只看该作者
终于有人理会我了*^_^*
我用inspector找了下,是有框架结构,可是我不太明白/的用法。
inspector显示的结构如下:
htmldocument,htmltitle=PICC P&C新一代综合业务处理系统
 htmlFrame,name=frasubmit
  htmlframe,name=fracalculate
  htmlframe,name=fratitle
 htmlframe,name=framenu
  htmlframe,name=frainterface
     editbox,name=certino
  htmlframe,name=franext
  htmlframe,name=fracode

我想获取的数据在name=frainterface里面的name=certino中。
我的写法如下:
Result=SQAGetProperty("HTMLDocumnet,HTMLTitle=PICC P&C新一代综合业务处理系统;\;
HTMLFrame,Name=fraInterface;\;
HTMLDocumnet,HTMLTitle=查询条件页面;\;type=EditBox;Name=CertiNo","value",value_bh)
编译无语法错误。
但是执行时返回1002错误,Invalid syntax in recMethod.
请问该如何运用这个\号啊?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2004-9-29 09:39:53 | 只看该作者
我的用法是这样的:
Result = SQAGetProperty("Caption=Agile Advantage - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=RightPane;HTMLTitle=Select SubClass And Number;\;Type=ComboBox;Name=subClassId", "innerText", str1)   

我一般不用inspector,而是用Object Properties直接抓取。可以得到验证点的语法,如下:
    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 Properties")
    Window ResetTestContext, "", ""
这样就可以读出我需要的部分,然后按照上面的语法进行整理。

像你用的那种方法,我也试过,可惜没有成功。返回也是1002,说明是无效的语法。如果仅仅是\  用错了,应该是1003,表示找不到对象。最主要的还是要靠你多试几次,掌握了SQAGetProperty的用法是很有用处的。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2004-9-29 11:59:32 | 只看该作者
用Object Properties直接抓取结果如下:
Window SetTestContext, "Caption=PICC P&C新一代综合业务处理系统 - Microsoft Internet Explorer", ""
    Browser SetFrame,"Type=HTMLFrame;HTMLId=fraInterface",""
    Browser NewPage,"HTMLTitle=查询条件页面",""
'    Result = EditBoxVP (CompareProperties, "Type=EditBox;Name=CertiNo", "VP=edit")
'    Window ResetTestContext, "", ""

语法写成:
Result = SQAGetProperty("Caption=PICC P&C新一代综合业务处理系统 - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=fraInterface;HTMLTitle=查询条件页面;\;Type=EditBox;Name=CertiNo", "innertext", str1)   


可是返回了1003错误。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-9-29 15:12:29 | 只看该作者
你的Result语句前有这些话?
Window SetTestContext, "Caption=PICC P&C新一代综合业务处理系统 - Microsoft Internet Explorer", ""
    Browser SetFrame,"Type=HTMLFrame;HTMLId=fraInterface",""
    Browser NewPage,"HTMLTitle=查询条件页面",""
'    Result = EditBoxVP (CompareProperties, "Type=EditBox;Name=CertiNo", "VP=edit")
'    Window ResetTestContext, "", ""

我看你只是将最后两句注释了。要么你就全部注释掉,要么你把中间的几句注释掉,留下第一句和最后一句。因为Brower之类的语句可能会让你定位不准确,这样它就无法读到控件,也就是1003的错误。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2004-9-29 21:01:58 | 只看该作者
不能注释掉,一注释掉的话连回放都有问题了。完整的脚本如下:
Sub Main
    Dim Result As Integer
    dim str1 as string
    'Initially Recorded: 2004-9-29  21:00:24
    'Script Name: qaabh
   
    Window SetContext, "Caption=PICC P&C新一代综合业务处理系统 - Microsoft Internet Explorer", ""
    Browser SetFrame,"Type=HTMLFrame;HTMLId=fraInterface",""
    Browser NewPage,"HTMLTitle=查询条件页面",""
    EditBox Click, "Type=EditBox;Name=CertiNo", "Coords=32,5"
    InputKeys "1234{TAB}"
   
    Result = EditBoxVP (CompareProperties, "Type=EditBox;Name=CertiNo", "VP=Object Properties")
    Result = SQAGetProperty("Caption=PICC P&C新一代综合业务处理系统 - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=fraInterface;HTMLTitle=查询条件页面;\;Type=EditBox;Name=CertiNo", "innertext", str1)
    msgbox(str1)
End Sub

可是str1老取不到1234
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2004-9-30 00:44:45 | 只看该作者
在Result=SQAGetProperty 前加上
Window SetTestContext, "Caption=PICC P&C新一代综合业务处理系统 - Microsoft Internet Explorer", ""
Window ResetTestContext, "", ""

再试试
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-20 19:49 , Processed in 0.080567 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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