51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6336|回复: 26
打印 上一主题 下一主题

[求助] QTP如何实现复制粘贴功能

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-6-10 16:42:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我现在测试的一个软件中有一个输入框,该输入框不支持从键盘输入,只能通过复制粘贴来输入数据,请问能不能用QTP脚本来实现从测试数据文本文件中拷贝测试数据粘贴到该输入框的功能?求达人指教,不胜感激!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

27#
发表于 2009-6-18 09:42:48 | 只看该作者

回复 24# 的帖子

恩 可以找到了,但是感觉好麻烦
HP把这个帮助文档搞得藏着掖着,偷来的阿
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2009-6-18 09:26:45 | 只看该作者
关于 mercury提供的这些有用的函数在那里可以查阿,好像QTP自带的那个帮助文档不是很全阿
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2014-10-15 22:18
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    25#
    发表于 2009-6-17 17:01:47 | 只看该作者
    哇塞,学习了。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24#
     楼主| 发表于 2009-6-11 15:21:22 | 只看该作者

    回复 23# 的帖子

    我是在搜索里查找clipboard,然后在搜索出的结果中找到标题为Standard Windows Environment里面看到的,我这里是第五个标题。内容里的最后几行就是21#说的那些。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23#
    发表于 2009-6-11 14:33:34 | 只看该作者
    原帖由 Mr.Prince 于 2009-6-11 11:53 发表
    我查了一下帮助,果然如楼上所说,Mercury自带操作剪切板的方法……


    不是楼上的回答,我的弯路走得好远
    不过我在帮助文档里查不到这个方法,楼主怎么查的?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
    发表于 2009-6-11 12:15:25 | 只看该作者
    学习。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21#
    发表于 2009-6-11 12:10:28 | 只看该作者

    QTP有clipboard对象

    Set MyClipboard = CreateObject("Mercury.Clipboard")
    MyClipboard.Clear
    MyClipboard.SetText "TEST"
    MsgBox MyClipboard.GetText
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2009-6-11 11:53:57 | 只看该作者
    我查了一下帮助,果然如楼上所说,Mercury自带操作剪切板的方法……
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2009-6-11 11:39:55 | 只看该作者
    哪里需要那么麻烦呢,添加到剪贴板直接使用Mercury提供的对象就好了
    1. Set oCB = CreateObject("Mercury.Clipboard")
    2. oCB.SetText "Copy me"
    3. Set oCB = Nothing
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2009-6-11 11:05:59 | 只看该作者

    你看看有没有有权限这样调用

    function getData(path)
    set fso = Createobject("Scripting.FileSystemObject")
    set file_p=fso.OpenTextFile(path)
    str=file_p.readall()

    dim objhtm,flg   
    set objhtm=createobject("htmlfile")  
      
    flg=objhtm.parentwindow.clipboarddata.setdata("text",str)  

    end function
    getData "d:\a.txt"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
     楼主| 发表于 2009-6-11 10:37:56 | 只看该作者
    我理解上面的代码是利用IE的地址栏将测试数据拷贝到剪切板,并且隐藏了IE窗口,确实解决了ctrl+c的问题,学习了
    非常感谢intothestorm
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2009-6-11 09:43:44 | 只看该作者

    貌似vbs不能直接操作粘贴板,我绕过它用IE。

    ' Have you played this funny game?
    str = "Plants Vs Zombies"
    setClipBoardData str
    Msgbox getClipBoardData

    Public Function getClipBoardData
            Set oIE = CreateObject("InternetExplorer.Application")
            oIE.Navigate("about:blank")
            oIE.visible=False
            getClipBoardData = oIE.document.parentwindow.clipboardData.GetData("text")
            Set oIE = Nothing
    End Function

    Public Sub setClipBoardData(strCopy)
            Set oIE = CreateObject("InternetExplorer.Application")
            oIE.Navigate("about:blank")
            oIE.visible=False
            oIE.document.parentwindow.clipboardData.SetData "text", strCopy
            Set oIE = Nothing
    End Sub
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
     楼主| 发表于 2009-6-11 09:40:32 | 只看该作者
    原帖由 intothestorm 于 2009-6-10 18:20 发表
    解决问题不能一根筋
    你不要老想着怎么ctrl+c, ctrl+v...
    退一步海阔天空,你尝试一下怎么通过操作windows的clipboard来解决你的问题。

    你的意思是把测试数据保存到剪切板吧,这我还真不会,你教教我?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2009-6-10 18:20:14 | 只看该作者

    google setClipBoard, getClipBoard

    解决问题不能一根筋
    你不要老想着怎么ctrl+c, ctrl+v...
    退一步海阔天空,你尝试一下怎么通过操作windows的clipboard来解决你的问题。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-7-4 15:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2009-6-10 17:52:21 | 只看该作者
    原帖由 Mr.Prince 于 2009-6-10 17:29 发表
    太难了,查不到……

    用模拟录制试试看看。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2009-6-10 17:30:45 | 只看该作者
    什么控件这么神奇,不能输入,只能粘贴
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2009-6-10 17:29:18 | 只看该作者
    太难了,查不到……
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-6-10 17:14:47 | 只看该作者
    是啊,ctrl+c如何选择数据呢,用鼠标拖动选中数据?那就得更改qtp的录制方式了。。还要考虑用坐标。。
    估计这个不可行吧。。
    用别的方法吧,查查api看有没有可用的函数
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2009-6-10 17:06:01 | 只看该作者
    原帖由 ls_721521 于 2009-6-10 17:04 发表
    哦,那个只适合web的。
    你可以用模拟键盘操作,用shell对象试试吧。。

    是考虑过shell对象,ctrl+v倒是简单,怎么从测试数据中ctrl+c难住我了……
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 20:59 , Processed in 0.098285 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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