selenium 和 QTP, 你怎样选择?

图片发自App

selenium 和 qtp 是目前市场上比较流行的两款自动化测试工具, 但是不明真相的同学可能会疑惑到底该选择哪种呢, 下面我们就来看一下它们两者的比较,

go:

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自动化测试用例。

你可能感兴趣的:(selenium 和 QTP, 你怎样选择?)