51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6157|回复: 24
打印 上一主题 下一主题

[原创] qtp:鼠标放在webedit上出现提示框,移出消失对象的获取---急---已解决

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-5-4 15:25:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 renquande 于 2011-5-25 16:47 编辑

qtp:现在遇到一个问题,当把鼠标放在一个webedit上出现提示框,移出鼠标后,该对话框消失,录制时这个对象无法获取,哪位大侠遇到过或者有好的解决方案,谢谢了,比较急---已解决

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    推荐
    发表于 2011-5-5 14:21:06 | 只看该作者
    回复 9# renquande


    可以不用坐标的吧。。。
    可以在该WebElement上进行FireEvent, 参考如下:
    Browser("CreationTime:=0").Page(":=").WebElement("xxxxx").FireEvent "onmouseover"

    然后在显示出来的那些文本用GetROProperty("innertext")就行了
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    25#
    发表于 2012-5-29 18:24:26 | 只看该作者
    嗯,这个是个不错的法子。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24#
     楼主| 发表于 2011-5-25 16:45:04 | 只看该作者
    代码示例:
            set  ttt=.WebTable("保障项目_2").ChildItem (i,4, "WebEdit",0)
                            ttt.FireEvent "onmouseover"
            If .webelement("折扣:5.00%续优:0.00%优惠金额:318.18折扣明").exist Then
                    xx= .WebElement("折扣:5.00%续优:0.00%优惠金额:318.18折扣明").GetROProperty("outertext")
                                      msgbox xx
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23#
     楼主| 发表于 2011-5-25 16:44:27 | 只看该作者
    代码示例
    With  Browser("人保财险营销平台").Page("人保财险营销平台").Frame("baofeishisuan")
      Dim i
                            rows = .WebTable("保障项目_2").RowCount
                            msgbox rows
    For i=3 to rows               
    wait 2
                            set  ttt=.WebTable("保障项目_2").ChildItem (i,4, "WebEdit",0)
                            ttt.FireEvent "onmouseover"
            If .webelement("折扣:5.00%续优:0.00%优惠金额:318.18折扣明").exist Then
                    xx= .WebElement("折扣:5.00%续优:0.00%优惠金额:318.18折扣明").GetROProperty("outertext")
                                      msgbox xx
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
     楼主| 发表于 2011-5-25 16:43:09 | 只看该作者
    此贴已结:
    使用spy时候按住ctrl键不放,等鼠标异动到相应的地方后,显示提示信息后,放开ctrl键,点击该提示信息就可以获取该对象了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
     楼主| 发表于 2011-5-25 16:39:07 | 只看该作者
    此贴已结:
    解决办法如下:
    1、spy的时候按住ctrl键,鼠标已到相应的地方,等显示提示信息时,放开ctrl键,然后点击提示信息,就可以捕获该对象了
    2、加入对象库的方式,qtp上面有个类似数据库的东西(object repository),弹出页面点+号的小图标(add objects to local),按住ctrl键,鼠标已到相应的地方,等显示提示信息时,放开ctrl键,然后点击提示信息,就可以捕获该对象了

    代码示例:
    With  Browser("人保财险营销平台").Page("人保财险营销平台").Frame("baofeishisuan")
           Dim i
                            rows = .WebTable("保障项目_2").RowCount
                            msgbox rows
    For i=3 to rows               
    wait 2
                            set  ttt=.WebTable("保障项目_2").ChildItem (i,4, "WebEdit",0)
                            ttt.FireEvent "onmouseover"
            If .webelement("折扣:5.00%续优:0.00%优惠金额:318.18折扣明").exist Then
                    xx= .WebElement("折扣:5.00%续优:0.00%优惠金额:318.18折扣明").GetROProperty("outertext")
                                      msgbox xx     
                                     
    '                 =======================================================================================================================
               '获取总共有多少行数据,test是sheet页的名字
               ' =======================================================================================================================
          H=DataTable.GetSheet("Action1").GetRowCount
              ' =======================================================================================================================
              '获取行,即使该行为焦点
              ' =======================================================================================================================
          DataTable.SetCurrentRow(H+1)
              ' =======================================================================================================================
              '给该行赋值 ,test和上面一样,是写入的sheet页的名字,tishi是     该sheet页中存在的一个列名
              ' =======================================================================================================================
          DataTable.value("tishi","Action1")=xx
              else
    End If
    Next                               
    End With
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2011-5-17 08:09:29 | 只看该作者

    null

    切换捕获模式就能抓了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-5-17 00:26:05 | 只看该作者
    好贴 标记下。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    18#
    发表于 2011-5-16 18:08:47 | 只看该作者
    那怎么取出来的。给大家分享一下。
    提示那个是,toolTip控件。
    ToolTip(Control,text)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2011-5-9 10:40:58 | 只看该作者
    回复 16# lyscser


       我现在已经找到了,不过还是不能把鼠标放上去之后显示的内容抓出来
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2011-5-6 17:10:33 | 只看该作者
    1、写FireEvent+onmouseover处理,参照help文档;
    2、设置对象消息事件,录制出同1的代码;
    3、WebTable对象抓入对象库,然后使用ChildObjects按WebElement的inntertext属性遍历,找到之后就好办了
    表问具体怎么操作哈,因为可能这些方法照样解决不了你的问题,你得学会自己查help文档
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2011-5-6 11:28:15 | 只看该作者
    回复 4# shingo0109


        先用FireEvent的onmouseover方法将鼠标放上去, 然后再用GetROProperty方法来取出文本

    ---------------------这两个方法怎么一块用呢,能写个例子吗,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2011-5-6 11:26:45 | 只看该作者
    回复 4# shingo0109


        先用FireEvent的onmouseover方法将鼠标放上去, 然后再用GetROProperty方法来取出文本

    ----怎么用呢,大概写个例子,看看吧,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2011-5-6 11:08:34 | 只看该作者
    我的这个整体的是一个table,
    Browser("Browser").Page("Page").WebTable("保障项目")到这可以了
    下面是我想做的
    怎么把鼠标放到这个table的单元格上?,如果这样解决了这个问题也就解决

    还有,为什么我录制的时候无法把webtable录制下来呢,加入对象库时,webedit上面就webtable,保存时,只保存了webedit,没有保存webtable,并且使用该webedit报错,提示无法识别该对象
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2011-5-5 14:55:26 | 只看该作者
    本帖最后由 hsjzfling 于 2011-5-5 14:57 编辑

    鼠标移开就会消失,所以捕获对象应该会很困难,LZ可以注意该webedit的各属性中是否包含该文本的信息,如果没有的话则view source,看看该文本是否是作为该文本的某一属性而存在,如果是这样的话,就可以通过.WebEdit(xxx).Object.属性名 的方式获取到该值. 一般web中是用title属性来作为鼠标悬停的文本显示.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2011-5-5 10:49:14 | 只看该作者
    onmouseover试下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2011-5-5 10:29:03 | 只看该作者
    回复 4# shingo0109


        这个方法怎么用呢,我用的时候报错,说缺少对象
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2011-5-4 17:47:31 | 只看该作者
    如果 页面 放大  放小 怎么办咯    所以还是不好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2011-5-4 17:46:49 | 只看该作者
    4楼的方法  需要加坐标吧
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-21 22:03 , Processed in 0.104262 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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