51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4211|回复: 7
打印 上一主题 下一主题

[Robot] 请教SQAGetproperty运用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-10-12 11:20:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我如何可以运用SQAGetproperty取得HTML页面上的文本信息?
请哪位大侠以两句具体脚本帮忙指教一下。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-10-12 12:30:41 | 只看该作者
请参考《robot如何取页面输入域的文本内容》、《請問Robot 如何快速使用座標定位》、《如何让combox自动选取它的子项 》这几篇文章。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-10-12 13:50:33 | 只看该作者
result=sqagetproperty("type=htmldocument;htmltitle=loginerr.jsp","loginerr.jsp",ck)
    if ck=1 then SQALogMessage sqaWarning, "error", "the pssword is error!"
我的目的是要抓取loginerr.jsp中的某一句文本,如此怎么调试也无济于事
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2004-10-12 19:28:22 | 只看该作者
你先要搞清楚SQAGetProperty的语法各个参数的含义。
SQAGetProperty(recMethod$, property$, value)
这个property$        是A case-sensitive property name. 也就是要一个大小写正确的属性名称。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2004-10-13 17:20:27 | 只看该作者
THKS
不过能麻烦你帮我看一下以下这段脚本否:
'$include "sqautil.sbh"
Sub Main
    Dim result As Integer
    dim dp as long
    dim x as integer
    dim nm as string
    dim ps as string
    dim ck as variant
    dp=sqadatapoolopen("test")
    'Initially Recorded: 2004-10-11  17:16:56
    'Script Name: test1
    for x=1 to 5
    call sqadatapoolfetch(dp)
    call sqadatapoolvalue(dp,1,nm)
    call sqadatapoolvalue(dp,2,ps)
    Window SetContext, "Caption=¾­¼Ã»§¿Ú×ۺϹÜÀí-¼à¹Üϵͳ - Microsoft Internet Explorer", ""
    Browser SetFrame,"Type=HTMLFrame;HTMLId=mainFrame;\;Type=HTMLFrame;HTMLId=llFrame",""
    Browser NewPage,"HTMLTitle=¾­¼Ã»§¿Ú×ۺϹÜÀí-¼à¹Üϵͳ",""
    EditBox Click, "Type=EditBox;Name=loginName", "Coords=67,9"
    InputKeys nm
    EditBox Click, "Type=EditBox;Name=password", "Coords=28,10"
    InputKeys ps
    PushButton Click, "Type=PushButton;Name=Submit"
    Browser SetFrame,"",""
    result=sqagetproperty("caption=¾­¼Ã»§¿Ú×ۺϹÜÀí-¼à¹Üϵͳ - Microsoft Internet Explore;\;type=htmlframe;htmlid=mainframe;htmltitle=loginerr.jsp","title",ck)
    if ck=1 then SQALogMessage sqaWarning, "error", "the pssword is error!"
    msgbox ck
    Toolbar Click, "ObjectIndex=7;\;ItemID=1020", "Coords=4,7"   
    Window SetContext, "Class=Shell_TrayWnd", ""
    TabControl Click, "ObjectIndex=1;\;ItemIndex=4", ""
    next
    call sqadatapoolclose(dp)

End Sub

运行结果我并未能取得title值

注:乱码显示的地方是因为复制到论坛过程中造成的。

[ Last edited by billrub on 2004-10-13 at 17:26 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-10-13 18:04:35 | 只看该作者
全是乱码,看的头都晕了。
你的脚本是有框架结构的,所以稍微麻烦一点。
用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, "", ""
这样就可以读出我需要的部分,然后进行整理。

比如:
Result = SQAGetProperty("Caption=Agile Advantage - Microsoft Internet Explorer;\;Type=HTMLFrame;HTMLId=RightPane;HTMLTitle=Select SubClass And Number;\;Type=ComboBox;Name=subClassId", "innerText", str1)   

HTMLTitle是你在查看查看源文件里所显示的title, 而不是什么loginerr.jsp
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2004-10-13 21:18:24 | 只看该作者
OK,谢了,我的系统确实是有框架的,不过我的title内容就是loginerr.jsp

[ Last edited by billrub on 2004-10-13 at 21:20 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2004-10-15 15:52:13 | 只看该作者
首先我先说我没有看明白是什么原因。:s
不过我给你一个建议不知道对你有没有帮助:在你加入SQAGetProperty取值语句之前录制一行转换设置当前窗口的语句,这种类似 以下形式:
Window SetContext, "Caption=about:blank - Microsoft Internet Explorer", ""
,然后试试看。供你参考
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-8 01:46 , Processed in 0.070024 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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