51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3125|回复: 9
打印 上一主题 下一主题

[Robot] help for SQAGetPropertyasString,特急,各位高手老大请指教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-3-22 21:21:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在用robot时遇到一个问题,我需要获取HTML上的一个值,但是我查了robot的帮助和各位相关的帖子,但是小子才疏学浅,还是没法得到正确的值。
这个页面分三个部分(robot捕获如下):
Browser SetFrame,"Type=HTMLFrame;Index=1;\;Type=HTMLFrame;HTMLId=pageserverFrame;\;Type=HTMLFrame;HTMLId=MessageFrame",""
Browser  SetFrame,"Type=HTMLFrame;Index=1;\;Type=HTMLFrame;HTMLId=pageserverFrame;\;Type=HTMLFrame;HTMLId=ContentFrame",""
Browser SetFrame,"Type=HTMLFrame;Index=1;\;Type=HTMLFrame;HTMLId=pageserverFrame;\;Type=HTMLFrame;HTMLId=ButtonFrame",""

我需要捕获的值在第一个Browser里面,我查看HTML的Source是这样的:
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<link charset="UTF-8" href="../english/Ingenium.css" rel="stylesheet" type="text/css" />
</head>
<body class="bodymessage" onload="onLoad()">
<input name="MORE-MESSAGES-IND" type="hidden" value="N" />
<table class="tablemessage">
<tr>
<td class="cellmessage">
<div id="MESSAGES-T[1]">XS00100011I ERRORS ENCOUNTERED, MAKE CORRECTIONS AND RE-SUBMIT</div>
</td>
</tr>
……
我希望获取MESSAGE-T[1]的值,也就是“XS00100011I ERRORS ENCOUNTERED, MAKE CORRECTIONS AND RE-SUBMIT”这部分,
我在robot里写:
Result = SQAGetPropertyasString(".\;Type=HTMLFrame;Index=1;\;Type=HTMLFrame;HTMLId=pageserverFrame;\;Type=HTMLFrame;HTMLId=MessageFrame\;Type=HTML;HTMLId=MESSAGES-T[1]", "Text", strText)
但是我Debug的时候总是报1003错,我尝试改第二个参数的值,“Text”,“FullRecognition”都用过,都是这个错。
老板明天下班就要活了,实在没辙,求助各位老大,到底是什么问题?能不能帮忙看看哈?
Besides,最好别推荐我看那个杂志第二期,因为我下载下来之后打开都是乱码,没法看 :(
谢谢大家了先!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2005-3-22 22:32:22 | 只看该作者

改成下面的句子,试一下!

SQAGetPropertyasString(SetFrame".\;Type=HTMLFrame;Index=1;\;Type=HTMLFrame;HTMLId=pageserverFrame;\;Type=HTMLFrame;HTMLId=MessageFrame\;Type=HT
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-3-22 23:54:38 | 只看该作者
1003是控件没有找到,可能是你的窗口焦点不在你要抓的窗口上。
可以使用抓验证点的方式,得到语句
Window SetTestContext, "Caption=新建网页 2 - Microsoft Internet Explorer", ""
Window ResetTestContext, "", ""

这样放在SQAGetProperty语句前,可以使焦点设在当前窗口上。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2005-3-23 15:04:47 | 只看该作者
回swtest:
我按您的方法试过, (SetFrame".\;Type=HTMLFrame 编译报错, 改成(“SetFrame.\;Type=HTMLFrame 运行时报1002错。

回司空版主:
我的robot里面第一句就是这句话。我又在QAGetProperty前也加了这句代码,还是1003错。

再说明一下这个screen分三个部分,分别是messageFrame,ContentFrame 和ButtonFrame,我要获取的值在第一部分里。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-3-23 21:01:59 | 只看该作者
看看你所要抓的东西能不能通过验证点的方式看到,如果没有的话,是无法用SQAGetProperty抓出来的。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2005-3-24 01:55:47 | 只看该作者
回版主:
通过验证点是可以抓到的,验证点那里的程序是这样的:
Window SetContext, "Caption="+WHICH_ENV+" - Microsoft Internet Explorer", ""
Browser SetFrame,"Type=HTMLFrame;Index=1;\;Type=HTMLFrame;HTMLId=pageserverFrame;\;Type=HTMLFrame;HTMLId=MessageFrame", ""
Browser NewPage, ""
Result = HTMLVP (CompareData,"Type=HTML;HTMLId=MESSAGES-T[1]","VP=Status1;Wait=1,20")
Window ResetTestContext, "", ""
结果返回没问题,可以抓到我在前面说的HTML源代码里面说的那个值

[ Last edited by interheinz on 2005-3-24 at 01:59 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-3-24 09:28:06 | 只看该作者
属性名称不对,应该是innertext
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-3-24 09:56:03 | 只看该作者
那么语句就应该是
Window SetContext, "Caption="+WHICH_ENV+" - Microsoft Internet Explorer", ""
Window ResetTestContext, "", ""

dim str as string

Result=SQAGetProperty("Caption="+WHICH_ENV+" - Microsoft Internet Explorer;\;Type=HTMLFrame;Index=1;\;Type=HTMLFrame;HTMLId=pageserverFrame;\;Type=HTMLFrame;HTMLId=MessageFrame;\;Type=HTML;HTMLId=MESSAGES-T[1]", "innerText", str)

msgbox str

这样你试试看吧
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-3-24 11:09:51 | 只看该作者
还有抓取HtmlTable的属性前面应该价格验证点,否则是不能抓到的。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2005-4-5 11:19:34 | 只看该作者
多谢各位老大热心帮助,小弟已经搞掂了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-23 20:28 , Processed in 0.092054 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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