51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1913|回复: 5
打印 上一主题 下一主题

[原创] 关于GetTextLocation的问题,高手指教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-5-11 19:00:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 hotsmile99 于 2011-5-11 19:14 编辑

目前遇到的一个自定义控件,是一个树形控件,
原先打算用GetTextLocation方法循环取文本,进行click
发现第一次GetTextLocation调用获得坐标正确,第2次循环的时候就不行了,取得坐标和第一次是一样的。
Function WPDocumentList()
Dim temp,SearchText
temp=true
Do WHILE temp = True
SearchText = “Progress”
temp=false
temp = VbWindow(“VbWindow”).WinObject(“AfxocList”).GetTextLocation(SearchText,leftpos,toppos,rightpos,bottompos)
If temp = True Then
VbWindow(“VbWindow”).WinObject(“AfxocList”).Click (leftpos+rightpos)/2,(toppos+bottompos)/2
VbWindow(“VbWindow”).VbButton(“Review Document”).Click
wait(10)
End If
Loop
End Function
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2011-5-14 22:22:15 | 只看该作者
不对呀,我试过如果定义多个变量,我坐标定义一套变量就可以取到,例如我要找3次,我就要定义3套变量,我试过是可以的,不信,你试试看
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2011-5-14 22:22:09 | 只看该作者
不对呀,我试过如果定义多个变量,我坐标定义一套变量就可以取到,例如我要找3次,我就要定义3套变量,我试过是可以的,不信,你试试看
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2019-2-24 17:10
  • 签到天数: 191 天

    连续签到: 1 天

    [LV.7]测试师长

    4#
    发表于 2011-5-13 14:54:14 | 只看该作者
    看帖必回

    等答案
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-2-4 09:49
  • 签到天数: 145 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
    发表于 2011-5-13 08:55:44 | 只看该作者
    本帖最后由 shanfeng1419 于 2011-5-13 08:57 编辑

    hi lz,qtp帮助文档里是这样说的——Return Value“A Boolean value.  This method returns the coordinates of the rectangle containing the first instance of the text into the Left, Top, Right, and Bottom arguments if the text is found. ”其中first的意思,我理解为只能找到一次。我试了下下面的程序,发现第一次能成功找到,且temp=true,但是第二次循环时temp = window("Paint").GetTextLocation(SearchText,leftpos,toppos,rightpos,bottompos)就赋值为False,所以就跳出循环了。即使坐标找到与第一次同,但也不能执行接下来的语句了。
    Dim temp,SearchText
    temp=true
    Do WHILE temp = True
    SearchText = "Paint"
    temp=true
    temp = window("Paint").GetTextLocation(SearchText,leftpos,toppos,rightpos,bottompos)
    If temp = True Then
    msgbox "OK"
    End If
    Loop
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2011-5-12 14:08:10 | 只看该作者
    这个控件是ActiveX控件吗?如果是的话建议QTP加载ActiveX插件,访问.Object接口对控件进行控制
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 07:41 , Processed in 0.067036 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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