工欲善其事必先利其器,对于自动化测试也是同样的道理。进入自动化测试之前,怎么能不了解我们都有哪些框架、工具,又有哪些是主流的呢?
1. 行业自动化测试框集
对于大多数同学来说,并不需要全面了解自动化测试工具都有哪些,来看看现在主流的测试工具有哪些就行了。如下,给大家列出来:
UFT: 惠普提供的UFT,毫无疑问是现在商业界排第一的了。它的前身叫做QTP,升级了之后,对BS、CS,包括接口测试的支持性都非常好,也做了很好的扩展。但最近两年,UFT的势头有所减弱。
Selenium: Selenium最近几年趋势越来越火。因为大家都追求开源,而Selenium刚好满足开源的情况。它是一个基于BS测试工具,可以支持多浏览器IE、Chrome、Firefox,也可以跟多语言结合起来做。
RF,Robot Framework: 当有了RF之后,好多同学就不再使用UFT了,相应的,有些公司替换UFT到Robot fromework了,或者Watir等。
Watir:Watir也是一款非常优秀的自动化测试工具,这个工具通过Ruby语言开发,同属于开源阵列,免费使用。具有简单友好的API调用,但并不热门,社区论坛等不够活跃,遇到问题很难询问获得解答。
以上是目前自动化测试工具里边影响力比较大的,随着开源趋势越来越火,Selenium也逐渐成为了一个很好的自动化测试工具。目前,已经有很多团队在使用,其中也包括我们的团队。
当然,并非局限一种自动化测试工具,可以将多个工具结合起来,发挥每个测试工具的优势,例如,使用Selenium来做B/S测试,UFT来做C/S测试。
2. Selenium自动化测试框架
再来深入看看Selenium工具,Selenium是现在开源框架里一个常用的UI自动化测试框架。如果把QTP(Mercury)比作有毒的汞,那么,Selenium就可以看做是硒了,是专门对付这种“有毒"工具的克星!
为什么我们没有使用QTP,这与它的商业收费性质有巨大的关系。在05到07年之间,惠普收购了Micro QTP,成为了商业版本上收费的一个巨头。
Selenium都有什么特定呢,总结如下:
开源,免费
多浏览器支持:Firefox、Chrome、IE
多平台支持:Linux、Windows、Mac
多语言支持:Java、Python、Ruby、Php、C#
对Web页面支持友好
API简单,调用灵活,开发语言驱动
支持分布式测试用例的执行
Selenium自动化测试框架,对Web(Html)页面支持比较良好。在Web自动化测试方面,相比于基于对象识别的UFT,它则是一个基于元素的识别框架。虽然功能、使用上差不多,但个人觉得Selenium更加友好:简单的API调用,多开发语言的支持,甚至,支持分布式自动化测试用例的执行!
2.1 Selenium的版本发展
Selenium已经经过了三个版本的迭代。分别是1.0版本、2.0版本,以及现在的3.0版本。
1.0 版本由三大组件构成:IDE、Grid、以及Selenium RC。来看看Selenium 1.0家谱:
IDE就是常用的可视化集成开发工具,用于录制,回放自动化测试用例。
Grid就是分布式,是Selenium支持分布式的关键模块。能够对不同的软件,采取分布式方式运行,在同一时间段运行不同的脚本,对BS结构服务器进行测试,以及支持多台机器上并行运行。
RC就是它的核心库,全称Remote Control。这里边有各种客户端库,Server。这里有各种协议,应用开发人员可以使用自己喜欢编程语言,针对不同的浏览器进行操作。
2.2 Selenium 主流版本
Selenium 2.0,也是现在的主流版本,在原有的版本上进行了功能丰富,添加了WebDriver。
可以说,Selenium 1.0 + WebDriver就是我们的2.0版本了,也就是WebDriver代替了1.0中的Selenium RC。其实早期Selenium RC的灵活性并不太好,之后又研发了web driver,最终合到了一起,替代了Selenium RC。
2.0的版本已经比较成熟、稳定,3.0的版更多的是进行了功能的优化,与扩展:
最大的变化就在于去掉了Selenium RC
只支持Java8 及以上
可以支持FireFox47及以上版本(需要单独下载geckodriver,并配置path)
从版本迭代来看,3.0和2.0的差别、用法并不太大,掌握2.0后,切到3.0也是较容易的。
最后
基于Selenium的自动化测试在实践中应用较多,知识点儿也很多,那么,如何学习Selenium呢?现在网上有非常多的课程,但并不是所有的都是大家需要的。个人建议,大家把重点放在Web Driver上,选择一门开发语言,例如Python等,在实践中不断掌握基于Selenium的自动化测试!
关注公众号:IT赶路人,免费获得更多IT相关知识!
加油,IT赶路人
网友评论