51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

楼主: 默默巫
打印 上一主题 下一主题

[你问我来答第3期]:共同探讨QuickTest Pro(已结束)

[复制链接]

该用户从未签到

21#
发表于 2010-8-3 08:45:03 | 只看该作者
qtp如何才能做基于web的flash的测试?这个我在网上找了很多,试了很多方法都不行,flash相关的动作录不下来。请问专家具体应该怎么做呢?
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2010-8-3 10:24:04 | 只看该作者

菜单动态加载,描述性编程问题

1.if Browser().Page().Object.getElementById("1385").getElementsByTagname("SPAN").Exsit then
SET list=Browser().Page().Object.getElementById("1385").getElementsByTagname("SPAN")
msgbox list.count()
end if
执行脚本时,无输出

2.当用描述性编程控制
for i=1 to 5
CDBM=Cstr(1380+i)
if Browser().Page().Object.getElementById(CDBM).getElementsByTagname("SPAN").Exsit then
SET list=Browser().Page().Object.getElementById(CDBM).getElementsByTagname("SPAN")
msgbox list(0).innertext
end if
当CDBM="1385"时,输出的innertext和1384的一样,并且将i的最大值改为10或者是更大,从1385起的任何一个值都等于1384的innertext.

(问题出现在系统菜单都是基于角色分配动态生成的,四级菜单是个浮动框,在用qtp执行脚本时加载的三级菜单重叠,比如1380-1385,1385结束后,又有一遍1380-1385)
回复 支持 反对

使用道具 举报

  • TA的每日心情
    郁闷
    2016-6-2 16:41
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    23#
    发表于 2010-8-3 10:45:03 | 只看该作者
    原帖由 yujie6832 于 2010-8-2 12:30 发表

    抱歉,造成您的困扰,我深感歉意 非常不好意思


    没事没事,可爱的小男孩我也喜欢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    24#
    发表于 2010-8-3 11:12:18 | 只看该作者

    dblookupcombobox

    qtp要怎么才能识别delphi 开发的dblookupcombobox之类的控件呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    25#
    发表于 2010-8-3 13:10:07 | 只看该作者
    qtp如何才能做基于web的flash的测试?请问专家具体应该怎么做呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    26#
    发表于 2010-8-3 15:05:08 | 只看该作者
    qtp 可以实现将某个值参数化后 通过这个参数链接数据库的值吗? 请说说操作步骤。我在qtp中曾经设置过,也连上数据库了,但Action1就是没有数据库的那个字段值。我用的是insert->checkpoint->database chenkpoint,如果方法不对,请指正。

    举例:
    程序中设置一参数 name1   数据库表中有一字段name11  将数据库name11字段的列值导入到qtp中的那个参数化的name1中
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27#
    发表于 2010-8-3 16:33:10 | 只看该作者

    QTP获得字符串的值?

    描述:用.NET开发的一个B/S结构的订单系统
    首先,输入订单信息,点击【提交】,弹出一个class是Dialog,Name :Microsoft Internet Explorer的对话框,显示内容为:您的订单已经生成,订单号码是PO.005BOE022110080301。及一个【确定】按钮;
    每次提交之后显示的“005BOE022110080301”都不同且唯一,我怎么样能获得正确的订单号?
    备注:用QTP录制的时候只录制到对话框中的一个【确定】按钮,我在Active screen中右击“您的订单已经生成,订单号码是PO.005BOE022110080301”选择Insert  output value 到Datetable中,播放时也不成功;
    (这里没办法上图片,只能这样描述了,我是qtp初学者,请高手指点)

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28#
    发表于 2010-8-3 21:46:39 | 只看该作者
    原帖由 xinren999 于 2010-8-2 10:20 发表
    1、低级录制和模拟录制分别在什么样的情况下使用合适,请分别举例说明。

    2、qtp操作使用达到什么样的水平才算初级、中级和高级水平,请分别罗列说明。

    3、像某些模块,操作流程大致如下:在模块中输入、修改某 ...


    回复 #6:
    您好,我给出的参考是:
    1、首先,无论是低级录制还是模拟录制,他们都应该在正常录制模式无法满足业务需求的情况下进行操作。
    模拟录制模式录制的是鼠标的操作,比如鼠标拖动这样的操作,正常录制是无法录制的,此时就可以采用模拟录制了。对了,模拟录制有2种方式的,具体我想你应该已经看到了。
    低级录制模式,我个人认知的是:它在一个控件无法识别的情况下,可以使用低级录制模式,低级录制模式可以记录这个控件的坐标,从而达到目的,但是一但对象的坐标有一丝变化,那么就无法成功回放了。
    总结:其实几乎没有人使用录制模式来完成自动化的工作,正常模式也不建议采用,模拟录制和低级录制模式更加不建议,并且他们都有其他的更可靠的解决办法,比如模拟录制可以用FireEvent方法来代替(具体可以百度,篇幅很长),需要用低级录制模式的情况可以用对象映射、虚拟对象、WSH配合相对坐标(abs_x,abs_y)完成、还有些特殊的甚至能结合些DOM方面的东西,比如用GetElementId方法等等,这些方法都比较常见,都比低级录制来的好,更高级的方法这里不阐述,有太多更高级、更未知的办法。

    2、关于第二个问题,我直接给出我一个朋友写的文章,比较实在,说的也比较准确、精辟,基本是89不离10,链接如下:
    http://bbs.51testing.com/thread-174742-1-3.html

    3、比如是一个WebEdit控件,首先输入一个值,进入系统了,然后再得到这个值,判断下是否和原先你输入的值一致,一致则通过,不一致则报错,大致代码如下:
    Dim valueSet:valueSet = “QTP讨论”
    Browser(“XXX”).Page(“XXX”).WebEdit(“XXX”).Set valueSet
    Dim valueCheck
    valueCheck =  Browser("XXX").Page("XXX").WebEdit("XXX").GetROProperty("value")
    If valueSet = valueCheck
            Reporter.ReportEvent micPass,"正确吗?","正确"
    Else
            Reporter.ReportEvent micFail,"正确吗?","不正确"
    以上是我自己“乱想”的一个系统,乱写的一段示例,仅供参考,呵呵

    4、需要自动化测试的时候就可以用QTP了,或者其它任何能完成任务,达到目标的一款工具,一个自动化工程师不光要写脚本,还要写用例等很多事情,手工的操作系统也是必不可少的,大量的手动实践,确定系统的业务逻辑才能做接下来的脚本,不然脚本如果都有业务逻辑BUG,那自动化就也变成一个BUG了。

    5、呵呵,项目方面的东西还是比较机密的,望谅解。不过我有一句话:就是别把自动化想的太伟大,太神秘,其实真的不是很难啦,我一直觉得,能达标目标的自动化才是好的自动化。关于群方面的事情,我在这里不方便说,有打广告嫌疑的,呵呵。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    29#
    发表于 2010-8-3 22:04:23 | 只看该作者
    原帖由 xinren999 于 2010-8-2 13:45 发表
    请楼主说说他们的区别,并举例说明(这里是重点,请写段脚本来说明):
    GetToProperty()、GetToProperties()、SetToProperty()、GetRoProperty()


    回复 #11:
    您好,我给出的参考是:
    GetToProperty()是对仓库中对象的操作,获取对象库中封装的属性

    GetToPropertys()一样,区别在于它是获取所有封装的属性的值

    SetToPropertys(),也是对仓库中对象的操作,是改变对象库中某个对象的某个属性的值,并且要注意的是SetTOProperty修改的对象属性是临时性的,只在运行时有效

    GetRoProperty()访问的是实际对象的封装接口,即:获得当前被测对象的当前封装的属性值
    新人特别要注意的是:有SetToPropertys()但是没有SetRoPropertys()

    补充一个,还有一个是自身接口的,即:object.XXX

    示例代码如下:
    a = Browser("百度一下").Page("你就知道").Link("贴 吧").GetTOProperty("text")
    b = Browser("百度一下").Page("你就知道").Link("贴 吧").GetROProperty("text")
    msgbox "TO属性值为:"&a                           
    msgbox "RO属性值为:"&b                             
    Browser("百度一下").Page("你就知道").Link("贴 吧").SetTOProperty "text","图 片"
    c = Browser("百度一下").Page("你就知道").Link("贴 吧").GetTOProperty("text")
    d = Browser("百度一下").Page("你就知道").Link("贴 吧").GetROProperty("text")
    msgbox "SetTO后的TO属性值为:"&c
    msgbox "SetTO后的RO属性值为:"&d
    Browser("百度一下").Page("你就知道").Link("贴 吧").Click
    f= Browser("百度一下").Page("你就知道").Link("贴 吧").GetROProperty("disabled")
    msgbox “封装接口的disabled值为:”&f         
    e= Browser("百度一下").Page("你就知道").Link("贴 吧").Object.disabled
    msgbox  "自身接口的disabled值为:"&e            

    a:贴 吧     b:贴 吧      c:图 片        d:图 片        e:false
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    30#
    发表于 2010-8-3 22:14:17 | 只看该作者
    原帖由 xinren999 于 2010-8-2 13:54 发表
    请问,场景恢复一般在哪些情况下会使用到,请详细举例说明,它在各种软件系统的应用中很广泛吗?就像对象识别那样常用吗?


    回复 #12:
    您好,我给出的参考是:
    场景回复是自动化中非常重要的机制,在QTP里自带场景恢复功能,如果是QC+QTP的框架模式,则在QC里也有场景恢复,此时QTP的自带场景恢复功能就没必要使用了。
    您说的没错,场景恢复太重要了,试想一下,自动化的最高境界无法就是没人看守也能执行测试,但是现实中往往有很多预料不到的事情发生,比如服务器当掉了,比如网络延迟了导致对象与实际页面不一致报错,但是事实上,脚本是没有错的,系统也是没有BUG的,只是他们由于不定因素导致了脚本不通过,此时有了场景恢复,那么他就会自动的帮你重新恢复场景,重新执行脚本从而达到无人值守又不至于卡隔的效果,可以让你安安心心的睡觉等等,呵呵,您还可以百度搜索这个帖子:《【软件测试自动化-QTP系列讲座 38】自定义场景恢复RecoveryFunction》,文章内有很多参考和些许扩展

    [ 本帖最后由 yujie6832 于 2010-8-4 10:28 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    31#
    发表于 2010-8-3 22:18:22 | 只看该作者
    原帖由 cncnily 于 2010-8-2 14:03 发表
    我使用qtp录制过网络游戏 想做一些回归测试的自动化测试 但是感觉使用起来跟按键精灵差不多。比如视角 面向都要一样。
    大师有什么好的测试方法对于MMPRPG类游戏吗?哪方面都可以


    回复 #13:
    您好,我给出的参考是:
         您才是大师 小弟没有使用QTP录制过网络游戏,以后得向您学习,请问您如何识别MMRPG游戏的对象的?请赐教
    另外,视角,面向这类问题,小弟虽然玩网络游戏10年,但是真不知道如何用QTP来完成,这个太高深了!请赐教您如何用QTP录制的网络游戏,哪方面都可以
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    32#
    发表于 2010-8-3 22:23:26 | 只看该作者
    原帖由 xinren999 于 2010-8-2 14:25 发表
    我们这里用sqldeveloper,请看附件。我用qtp链接数据库时在新建数据源的时候qtp没有找到相关的oracle驱动(见附件),请问我如何解决 ,以前链接oracle PLSQLdevelper时都没事 ,但链接sqldeveloper就不行。why?苦恼 ...



    回复 #14:
    您好,我给出的参考是:
          首先,深感抱歉 ,这个可能性太多了。而且您给出的图例非常的不全,我无法正常理解意思,这类棘手的问题也许到QTP版块能更快得到解决,毕竟我们不在您机器上的真实环境,在QTP版块,嘴巴多,好人多,如果您贴全你的问题的关键的图片,我想有可能能得到解决
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    33#
    发表于 2010-8-3 22:32:25 | 只看该作者
    原帖由 Sunny_no1 于 2010-8-2 15:41 发表
    请问一下大家有没有QTP学习的相关文档或视频呢,有视频更好咯,能不能拿出来分享一下呢,谢谢,共同进步~~



    回复 #15:
    您好,我给出的参考是:
         我给您提供点比较好的内容较多的QTP相关文档的名字,您可以百度搜索或者在站内搜索,有下载的
    1、QTP技术集锦
    2、QTP9.0编程常用方法及实例心得
    3、QTP实用例子
    4、QTP库函数
    5、Vbs脚本编程简明教程
    6、vbscript.chm
    7、VBScript脚本语言
    8、Tarun写的几篇文章,如《共享存储的使用 (Shared Store)》、《屏幕截取与比较的COM组件》
    9、框架方面,论坛内有一个网友Roby.Yi的一个自动化框架的文章也还不错
    10、博客方面推荐两个,第一个是CSDN陈能技的博客,第二个是CSDN赵旭斌的博客
    这两个博客都可以说是学习博客,都有很系列化的QTP指导,非常好,强烈推荐!
    以上所有百度都能搜索到


    [ 本帖最后由 yujie6832 于 2010-8-4 10:25 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    34#
    发表于 2010-8-3 22:36:11 | 只看该作者
    原帖由 lihc 于 2010-8-2 16:01 发表
    请问软件测试中预置条件是要自己去设置吗?



    回复 #16:
    您好,我给出的参考是:
         预置条件需要自己去设置而且是一定要设置
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    35#
    发表于 2010-8-3 22:39:07 | 只看该作者
    原帖由 逸城 于 2010-8-2 16:13 发表
    在自学QTP,可是看了几天资料,总感觉没有实例结合着来学,进步很慢。。很迷茫,请指教该怎么做

    回复 #17:
    您好,我给出的参考是:
         我给您提供点比较好的内容较多的QTP相关文档的名字,您可以百度搜索或者在站内搜索,有下载的
    1、QTP技术集锦
    2、QTP9.0编程常用方法及实例心得
    3、QTP实用例子
    4、QTP库函数
    5、Vbs脚本编程简明教程
    6、vbscript.chm
    7、VBScript脚本语言
    8、Tarun写的几篇文章,如《共享存储的使用 (Shared Store)》、《屏幕截取与比较的COM组件》
    9、框架方面,论坛内有一个网友Roby.Yi的一个自动化框架的文章也还不错
    10、博客方面推荐两个,第一个是CSDN陈能技的博客,第二个是CSDN赵旭斌的博客
    这两个博客都可以说是学习博客,都有很系列化的QTP指导,非常好,强烈推荐!
    以上所有百度都能搜索到


    另外,请参考这个帖子:http://bbs.51testing.com/thread-174742-1-3.html
    相信你不会再那么迷茫,QTP不是想象中那么难,自动化也不是想象中那么伟大 希望你早日摆脱迷茫,有问题多到QTP版块发帖,那里好人很多


    [ 本帖最后由 yujie6832 于 2010-8-4 10:24 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    36#
    发表于 2010-8-3 22:41:51 | 只看该作者
    [quote]原帖由 xiaoxue1506 于 2010-8-2 16:30 发表
    回复 #18:
    您好,我给出的参考是:
    既然是Web系统,那就和他架构在WINDOWS上和LINUX上没有关系了,QTP测试的是这个系统的在线平台,任何在线网站都能用QTP写脚本,前提是对象能够识别。您说的工具是什么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    37#
    发表于 2010-8-3 22:45:59 | 只看该作者
    原帖由 lxlye 于 2010-8-3 08:45 发表
    qtp如何才能做基于web的flash的测试?这个我在网上找了很多,试了很多方法都不行,flash相关的动作录不下来。请问专家具体应该怎么做呢?

    回复 #20:
    您好,我给出的参考是:
    Flash需要相对应的插件,可以咨询HP购买正版,也可以尝试下载Flex4的插件,网上有教程,这方面我用的不多,不过我在项目中有用旁门左道的办法解决过Flash控件的控制,我用的是mercury.DeviceReplay方法配合VK码来控制快捷键,我们项目中Flash部分可以使用快捷键,我就利用了这个特点
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    38#
    发表于 2010-8-3 22:48:18 | 只看该作者
    今晚抽空回答到这,继续收集问题。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    39#
    发表于 2010-8-4 10:49:49 | 只看该作者
    版主好,我看过陈能技高手用QTP写的 WEB、DLL随机测试工具(猴子),思想很好,一直想改良或是加深猴子的功能,想把它写成可以直接运行C/S架构的.exe里每个功能模块的工具,这感觉有点难,但我预料到,写出来了这样的工具价值是非常大的。不知道版主是否有这样的经历或是思想点拨下 谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    40#
    发表于 2010-8-4 12:31:06 | 只看该作者

    功能测试的

    我是做功能测试的,请问下 我接下来要学些什么容易上手啊 我之前不是软件测试专业的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-2 12:24 , Processed in 0.080365 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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