|
1、想把QTP自动化从无到有应用到项目中。怎样才能成功实施?
2、QTP录制我们目前项目中的.net 网站,有些对 ...
loveyou99 发表于 2011-3-1 14:29
这位朋友的问题很有挑战性啊,那么一个个来吧:
问:1、想把QTP自动化从无到有应用到项目中。怎样才能成功实施?
答:这个问题其实问的范围非常的广,要回答好还真是不容易,还是和您分享一下我之前自动化的一些经验吧,首先你需要了解自动化测试的一个总体实施流程,首先当你接到一个项目之后,你需要了解影响自动化测试实施的一些需求,比如:项目的周期长短、需求变更的频繁度,工具的选择以及工具对测试对象的识别能力等,首先确定项目是否适合做自动化测试,不是每个项目都适合做自动化测试的,国内失败的例子太多,很多原因就是前期根本就没有做足分析才会导致后期的被动局面,因此可不能忽视这块内容,当这些都确定完成之后 ,还需要完成一个简单的POC测试用于验证工具对项目中对象识别的能力好坏,这些内容可以归类在前期的可行性分析方案中。接着我们需要进行自动化测试设计阶段,这个阶段包括需求分析,自动化用例转化与编写,这里需要注意不是所有手工测试用例都可以转化为自动化测试用例,有些用例完全不适合自动化,或者不能用自动化完成,再或者需要投入很大的精力,所以需要在设计阶段就定义好这些可自动化用例、接着还需要定义好公共的用例库、用例的复杂度,当这些内容都定义完毕后,就可以开始下一步核心工作,也就是自动化测试框架开发:创建一些公共的组件、公共函数库、公共对象库、测试执行调度、外部配置、错误处理、报表生成等功能,当然如果不是经验非常丰富的测试人员在框架这块处理上是不可能一步到位的,需要后期来适应项目并不断的进行改进。那么一旦核心功能完成之后既可以说你已经离成功又迈出了一大步,接下来的工作就是把用例全部完完整整的转化为脚本了,如果框架搭建的比较power的话,这一步实现其实是比较轻松的,当然排除一些疑难问题,比如对象无法识别的情况,这些都不是我一下子能说清楚的,需要具体情况具体分析了。基本上最重要的都讲完了,后面的话就是脚本的最终联调和结果分析。中间也可能漏了一些比较细节的东西由于时间问题我也就不提了,说的有不对的地方也请指出。
问:2、QTP录制我们目前项目中的.net 网站,有些对象不能识别 如下拉列表用spy查看是个link对象。 单选按钮是个 webelement 对象。在打开QTP时,加载了.NET插件,也不能正常识别该对象。为什么?怎样才能正常识别这些对象?
答:首先我需要纠正你一个非常不正确的思路,qtp识别对象的原理是看被测控件的类型是什么,而不是看被测控件是用什么语言写的,加载插件也是这个道理,这一点希望你能够牢记,这是初学者最容易犯的错误,至于你的问题由于没有真正环境进行测试,因此可能回答的不是很准确,其实那个link对象是已经成功识别了,说明这个下拉列表本身开发并没有使用weblist对象,而是使用了link对象来代替,我估计它是动态的,推荐可以使用正则的模糊匹配方式进行选择,既然能识别link对象就能够进行自动化,单选按钮Webelement对象,这个我建议你可以从dom访问对象自身接口试试。
问:3、QTP 对象库中的对象变更了,怎样才能有效、更快的维护对象库?能否把用spy直接更新该对象?
答:对象变更是每个自动化测试过程中的大问题,这个是无法避免的,如果前期没有规划好公共对象库的话,后期会有很多重复对象或者是一些旧对象导致维护成本非常的高,要更改这个局面,建议把对象库放在一个公共对象库集中维护,并定制友好的对象关键字,如果是团队开发需要做版本控制,不可轻易对对象进行改动,否则会影响到别人的脚本。
问:4、我也想做QTP高手,需要具备哪些素质和个人需要在那些方面多做努力?
答:请看这里http://bbs.51testing.com/thread-174742-1-1.html 这是坛子里的一位高手写的,我觉得写的还不错。
问:5、目前的QTP书籍中,那本能从中得到更高级的提高?
答:没有买过相关的QTP书籍,因此不做回答。
问:6、你们专家会在QTP方面遇到困难么?遇到困难怎么办?
答:会,当然会,遇到困难最好的老师就是百度、谷歌、F1。
问:7、我感觉QTP自带的F1帮助好像都是一条一条知识点的汇总,并没有成为系统的帮助!看user guide pdf 文档重要么?看完并理解这个文档后能成为专家级别么?
答:看user guide文档是非常重要的,可以了解QTP的基本知识,一共877页,我自己当初是一页页啃下来的。当然这只是一小步啦,后面还有很多路要走。
问:8、官方有没有文档关于QTP框架的介绍?
答:官方据说有一个web框架,叫saffron,可以百度下
问:9、我用QTP录制test direct 8.0 的操作,如查询bug ,查看附件,QTP 录制的脚本为:
Window("Microsoft Internet Explorer").WinObject("TEdit").Click 40,9
Window("Microsoft Internet Explorer").WinObject("TEdit").Type "123456"
Window("Microsoft Internet Explorer").WinObject("TEdit").Type micReturn
Window("Microsoft Internet Explorer").WinObject("TTDApiGrid").Click 84,28
Window("Microsoft Internet Explorer").WinObject("TFilterEdit").Click 19,8
回放也不能回放,编辑脚本也比较麻烦!怎么办?
答:没有尝试过对TD进行自动化,不过听说使用qtp自动化QC或者TD比较难,从你的脚本看QTP根本没有把对象识别为web对象,而是std的标准对象,建议加载web插件并且先启动QTP后再启动TD。 |
|