51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3099|回复: 11
打印 上一主题 下一主题

[原创] 如何捕获viewlink中的内容???

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-2 16:03:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用QTP测试一个WEB页面,该页面上有一个viewlink。在这个viewlink中显示了,共XX行,第X页,共XX页。

我希望能抓出其中的XX行用以和数据库中的记录数进行校验。请问各位高手该数据应该如何抓出来呢???
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-11-2 17:45:03 | 只看该作者
用GetROProperty去取出相应的属性值,再从数据库中取出数值进行比较
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-11-2 18:57:56 | 只看该作者
版主,能否给个详细点的说明或者例子呢?
我用SPY去抓取“共XX行”是没法抓到的,只能捕获到一个VIEWLINK(“PageInfo”)。

我看以前曾经有帖子用
Public var_GetROProperty
var_GetROProperty = Browser("查询页面").Page("查询页面").WebElement("共 21 条").GetROProperty("innerText")
去获取数据。但我用类似的方法却无法获取。

我的页面层次如下:
Browser(“test”).Page("test123").Frame("ModelFrame").viewLink("PageInfo")。“共XX条”是显示在这个PageInfo中的。

不知道我是否描述清楚,希望大家能给予帮助。

谢谢:)
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-11-2 19:07:08 | 只看该作者
我尝试过如下方法:
Public var_GetROProperty
var_GetROProperty = Browser(“test”).Page("test123").WebElement("共 21 条").GetROProperty("innerText")
去获取数据。QTP报无法找到“共 21 条”这个对象!

我的页面层次如下:
Browser(“test”).Page("test123").Frame("ModelFrame").viewLink("PageInfo")。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-11-3 09:16:52 | 只看该作者
用text output value试试呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-11-3 10:15:23 | 只看该作者
text output 无法使用。我选择了“共XX行”后,text output菜单灰话。。。

这次的郁闷不一般啊,各位高手,帮忙分析下。有什么办法可以做到检查呢???

谢谢
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2006-11-3 10:16:08 | 只看该作者
    你先用 Object Spy 看看 值是 “共 21 条” 的是那个属性,另外, 在你说的这个WEB页面上的“共 21 条”这几个字上添加检查点, 看看你写的这个表达式对不对。检查点的Check 前的部分 就是 "共 21 条" 这个控件的表达式。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2006-11-3 11:07:30 | 只看该作者
    我使用OBJECT SPY查看“共21条”,spy没有抓出含有“共21条”这样的属性值。spy仅捕获到了一个viewlink(“pageinfo”),它没有任何属性值是“共21条”!!

    另外,我在“共21条”这几个字上鼠标右键添加检查点时,仅可以添加“standard checkpoint”  "bitmap checkpoint"  "Accessibility Checkpoint"!我采用“standard checkpoint”,添加的表达式为:
    Browser(“test”).Page("test123").Frame("ModelFram").WebElement("WebElement").check ...

    按照此表达式,脚本改造为:Browser(“test”).Page("test123").Frame("ModelFram").WebElement("共21条").GetROProperty("innerText"),QTP报错,无法找到("共21条")对象!
    脚本采用Browser(“test”).Page("test123").Frame("ModelFram").WebElement("WebElement").GetROProperty("innerText")时,QTP不报错,但提取的inner Text为空!!!

    继续请求帮助~~~~sdlkfj9
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2006-11-3 11:44:14 | 只看该作者
    我在此描述一下我要测试的内容吧,看各位是否有其他的办法来解决这个问题。
    后台数据库为INFORMIX。PS:能否给个连接INFORMIX数据库的脚本?我在window端采用informix 的csdk进行连接。已配置了ODBC接口。

    检测内容:查询出的数据是否与数据库内容一致。

    主要查询操作步骤:
    1、输入查询号码
    2、选择需查询的项目(市话清单、长话清单、短信清单、区间通话详单...)
    3、选择帐务日期
    4、点击“查询清单”

    说明:在第二步中,选择的项目是可以多选的。每个选项都将在最后的查询结果集中分页显示,但每个选项将生成一个表格来独立显示。
    显示结果如下图:


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2006-11-3 11:45:58 | 只看该作者
    各位看看,能否有什么好的建议???sdlkfj4
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2006-11-3 16:00:48 | 只看该作者
    现在这个问题似乎应该已经解决了,在向客户要到程序源代码后。分析代码,发现这个pageinfo的document对象是通过如下方法传递数据进去的:
    var obj=new Object()
    obj.pageSize = g_BillPageSize;
    obj.recCount = recCount;
    obj.queryFunName = "initQueryBillTree";
    parent.document.all("billPageInfo").loadInfoData(obj);

    从这段代码估计,通过
    Browser(“test”).Page("test123").Frame("ModelFrame").viewLink("ageInfo").object.document.all("billPageInfo").reccount
    可以获取到查询出的记录数。

    通过测试,的确可行。

    谢谢大家的回复!sdlkfj6
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2006-11-3 16:14:23 | 只看该作者
    谢谢  yourslg 的回复! 通过你的回复,我也学到了一点:如果 用 QTP 的Object Spy找不到对象,分析一下源代码也是一种不错的方法。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 11:54 , Processed in 0.075858 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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