51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 【已解决】请问大家,如何使用QTP录制图片拖动整个过程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-12-26 17:38:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 秦菲 于 2012-12-27 17:06 编辑

我现在想要录制一个动作:
把同界面上的图片从左侧拖到右侧,即
捕获鼠标点击图片开始到放开鼠标整个过程

已经使用过的方法:模拟录制模式,其只能捕获到鼠标的动向
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2012-12-27 16:03:35 | 只看该作者
本帖最后由 秦菲 于 2012-12-27 16:05 编辑

用 站友xjwldlover的方法,实现了拖拽,不过也有点不一样了,给大家分享一下
步骤:
(1)录制脚本,获取对象
(2)遇到需要拖拽的地方,把录制模式切换到模拟录制(Analog Rcording)
(3)更改脚本,把需要拖拽的对象的动作更改为Drag
代码:
Browser("XX").Page("XX").WebElement("aaa").Drag//需要拖拽的对象aaa
Desktop.RunAnalog "Track1"
Browser("XX").Page("XX").WebElement("bbb").Click//把拖拽的对象,放在这个文件bbb里面
谢谢大家的帮助
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2012-12-27 14:46:48 | 只看该作者
回复 5# 秦菲

Window("平台").Page("平台").WebElement("已选").Drop 300 , 100

Window("平台") 就是一个对象名,你可以理解为browser("平台"),这个无关紧要
WebElement("已选").Drop 300 , 100: 坐标可以不带;如果不带,就会默认拖放到WebElement("已选")对象的中心位置,然后释放

你下面那团代码,思路是将包含某 某段文字的对象 ,拖放到 包含另段文字的对象上,然后释放。通过文字识别对象,然后操作
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2012-12-27 12:42:00 | 只看该作者
查了有些资料,有人推荐使用GetTextLocation 方法
其举例的代码为:
Sub MoveItemByText(objFrom,strFrom,objTo,strTo)
Dim l,r,t,b,l1,r1,t1,b1'Drag Item by specified text
objFrom.GetTextLocation strFrom, l, t, r, b
objFrom.Drag (l+r)/2, (t+b)/2, 1

' Drop Item on specified text
objTo.GetTextLocation strTo, l1, t1, r1, b1
objTo.Drop (l1+r1)/2, (t1+b1)/2, 1
End Sub
'将hsjzfling从Names列表中拖拽到Result列表的Champion子列表中
Set bjAct = VbWindow("frmOvertime").ActiveX("ActiveX").ActiveX("ActiveX").ActiveX("ActiveX")
MoveItemByText objAct.VbTreeView("Names"), "hsjzfling", objAct.VbTreeView("Result"), "Champion"

我不是很明白的其含义,请哪位大师讲解一下,可好?先谢谢了哈
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2012-12-27 12:37:53 | 只看该作者
谢谢xjwldlover 的回答,可是坐标一旦改变,其回放貌似会失败
还有我不明白Window("平台")是什么意思,才开始学习,请多多关照哈
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-12-27 09:54:47 | 只看该作者
本帖最后由 xjwldlover 于 2012-12-27 09:55 编辑

录不了就直接写,只是元素的基本方法,不用先录制,示例是一个extJS应用,方法都是一样的

Set Elem = Window("平台").Page("平台").WebElement("流程名称")
' 拖起选定元素 WebElement("流程名称").
Window("平台").Page("平台").WebElement("流程名称").Drag
'将元素放到 WebElement("已选")上并释放鼠标,坐标酌情而定,可选项
Window("平台").Page("平台").WebElement("已选").Drop 300 , 100
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-12-27 09:13:30 | 只看该作者
用低级录制,捕获不了拖动这个动作
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2012-12-27 08:55:44 | 只看该作者
    回复 1# 秦菲


        低级录制呢?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 20:15 , Processed in 0.070610 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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