51Testing软件测试论坛

标题: QTP和selenium的区别都有哪些?使用技巧有哪些呢? [打印本页]

作者: wsr123321    时间: 2017-3-10 10:32
标题: QTP和selenium的区别都有哪些?使用技巧有哪些呢?
本帖最后由 wsr123321 于 2017-3-10 10:40 编辑

QTP和selenium的区别都有哪些?使用技巧有哪些呢?

作者: 黑盒测试    时间: 2017-3-10 11:14
区别大了  
qtp一个是工具局限性大,selenium是和python/java搭配使用,灵活性高、方便、易维护
作者: 梦想家    时间: 2017-3-10 11:15
一、用户仿真:Selenium在浏览器后台执行,它通过修改HTML的DOM(文档对象模型)来执行操作,实际上是通过javascript来控制的。执行时窗口可以最小化,可以在同一机器执行多个测试。QTP完全模拟终端用户,独占屏幕,只能开启一个独占的实例。TestComplete和qtp类似。
二、UI组件支持:selenium 支持主要的组件,但是某些事件、方法和对象属性支持不够,QTP提供了良好的支持,通过收费的插件,提供了对dotNet组件的支持。
三、UI对象的管理和存储:QTP的内置了良好的支持。Selenium可以通过用户扩展UI-Element来管理,不过要在代码中写死,不像QTP一样可以自动录制添加。
四、对话框支持:QTP支持各种IE对话框,Selenium只是部分支持,像获取对话框的标题之类的功能并没有支持。
五、文件上传:Selenium由于JavaScript的限制不支持。QTP的提供了良好的支持。
六、浏览器支持。QTP支持IE和Firefox。Selenium支持IE, Firefox, Safari和Opera等,两者都没有完全的跨浏览器支持,代码在不同浏览器上是需要修改的。
七、对象识别参数,基于所见即所得识别: WYSWYG (what you see is what you get),Selenium不支持。QTP的提供了良好的支持。这个和第一点基本上是一回事。
八、面向对象语言和扩展性支持(和外部工具和库的集成):QTP不支持。Selenium的提供了良好的支持。Selenium支持python,java,c#。
九、与测试管理啊工具集成:QTP和可以 HP Quality Center and TestDirector集成。Selenium暂不支持WEB。
十、支持的应用类型TP支持(DotNet,VB, Powerbuilder, TCL/TK)等,Selenium支持WEB。
十一、支持的操作系统/平台:Selenium支持python,java,所以可以跨平台。QTP只支持Windows。
十二、脚本创建难易:QTP相当容易,Selenium要难一点,但是也还可以。
十三、技术支持:QTP的要多好一点。
十四、成本:QTP大概是淡季5000美金,Selenium免费。
十五、测试开发环境:Selenium更丰富。
十六、开发流程集成:QTP不支持,Selenium可以容易使用cruise工具等。
十七、小结:以上Selenium 1.*和QTP的比较。Selenium正在飞速发展之中,集成了Webdriver的Selenium 2.0正式版本将在2011推出,届时将会解决上传文件等很多不足。Selenium估计在5年内会成为Web测试市场的霸主,QTP因其可用性和良好的支持,也会继续存在。
作者: 梦想家    时间: 2017-3-10 11:15
QTP:
我觉得qtp适合的人:
对编程不是很熟悉的
厌烦了手动的功能测试,想快速进入自动化行业的
公司想快速自动化项目,并且对价格或者对盗版无所谓的
vbs脚本语言易于上手,可以培训你对代码的兴趣,为更进一步的提升奠定基础

框架:
qtp本身就是一个框架, qtp11,宣传的是高级关键字驱动,实际上他是也有数据驱动,就是一个混合体(关键字驱动+数据驱动)

包含了dataTable, or, functionlibrary

dataTable可以参数化数据,做数据驱动
关键字,实际是面向非开发人员的,就是直接根据业务录制脚本,然后在关键字视图上,根据实际情况再做调整

对象库实际上是qtp的精华所在,但是有的时候往往舍弃它,用DP,实际上着是不对的,他相当于selenium的page object

函数库,就是封装了一些业务方法和工具包,比如login,对对象的方法的扩展



Webdriver
selenium2 = selenium 1 + webdribver
咱们现在都在用webdriver, 实际上他就是提供一堆API

selenium适合的人:
有一定开发背景,熟悉java, c#, python, ruby,这样你才能快速使用起来
有一定商业自动化工具的使用经验,了解了自动化工具的思想,想转做开源的自动化的,我其实就是这个原因

框架
selenium的开源优势是很明显的,尤其是使用java语言的(没有贬低其他语言的意思),原因很简单,用的人很多,那么第三方的扩展工具包也很多,使用起来就比较方便

tom本来今天讲的testng(标记语言),就是一个第三方的 jar包,他是用控制测试流程的
由于自动化测试用例设计的一个准则是尽量减少case之间的依赖关系,那么我一般做的是每次用例跑完以后都回到原点,并且用例创建的数据都会被删掉

比如,一个场景: login(放在before) - action(正常的业务逻辑) - logout(after).........testsuite.xml

脚本版本控制工具(svn)

做版本的控制,可以方便多人开发脚本以及脚本出错可以及时的回滚,我们需要把代码签入到svn里去

ant实际上一个构建工具,它可以创建一些构建脚本,比如自动编译代码,等,他是一个Build.xml

jenkins(前身hudson)是一个持续构建服务器(CI服务器)。他的作用就是构建Build. 他会一直轮询svn。一单发现svn代码有变化就调用ant,然后ant调用testng来执行我们写selenium自动化测试用例

作者: 梦想家    时间: 2017-3-10 11:16
1、用户仿真:Selenium在浏览器后台执行,它通过修改HTML的DOM(文档对象模型)来执行操作,实际上是通过javascript来控制的。执行时窗口可以最小化,可以在同一机器执行多个测试。QTP完全模拟终端用户,独占屏幕,只能开启一个独占的实例。TestComplete和qtp类似。

2、UI组件支持:selenium 支持主要的组件,但是某些事件、方法和对象属性支持不够,QTP提供了良好的支持,通过收费的插件,提供了对dotNet组件的支持。

3、UI对象的管理和存储:QTP的内置了良好的支持。Selenium可以通过用户扩展UI-Element来管理,不过要在代码中写死,不像QTP一样可以自动录制添加。

4、对话框支持:QTP支持各种IE对话框,Selenium只是部分支持,像获取对话框的标题之类的功能并没有支持。

5、文件上传:Selenium由于JavaScript的限制不支持。QTP的提供了良好的支持。

6、浏览器支持。QTP支持IE和Firefox。Selenium支持IE, Firefox, Safari和Opera等,两者都没有完全的跨浏览器支持,代码在不同浏览器上是需要修改的。

7、对象识别参数,基于所见即所得识别: WYSWYG (what you see is what you get),Selenium不支持。QTP的提供了良好的支持。这个和第一点基本上是一回事。

8、面向对象语言和扩展性支持(和外部工具和库的集成):QTP不支持。Selenium的提供了良好的支持。Selenium支持python,java,c#。

9、与测试管理啊工具集成:QTP和可以 HP Quality Center and TestDirector集成。Selenium暂不支持WEB。

10、支持的应用类型TP支持(DotNet,VB, Powerbuilder, TCL/TK)等,Selenium支持WEB。

11、支持的操作系统/平台:Selenium支持python,java,所以可以跨平台。QTP只支持Windows。

12、脚本创建难易:QTP相当容易,Selenium要难一点,但是也还可以。

13、技术支持:QTP的要多好一点。

14、成本:QTP大概是淡季5000美金,Selenium免费。

15、测试开发环境:Selenium更丰富。

16、开发流程集成:QTP不支持,Selenium可以容易使用cruise工具等。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2