想学好Selenium自动化测试,应该具备哪些条件,或者应该朝哪个方向去努力?自动化测试的成长之路也可以分为测试3境界,基础阶段,进阶阶段和提升阶段,基础阶段要求同学们掌握基础的开发语言、测试技能;提升阶段要求同学们能够搭建简单的测试框架,完成自动化测试用例的书写,最后,提升阶段就需要深入思考持续集成、效率、性能以及更高级挑战的自动化测试用例的编写。
基础
具备一定的编程基础是开发自动化测试的基础。基础编程语言包括Java、Python、C#、Ruby和PHP等,Selenium可以和这些语言良好地结合起来,如果你完全没有这些编程语言的基础,建议可以从Python入手,因为Python是一个比较容易上手、掌握的开发语言。
然后是学习Selenium,要搞清楚:
- Selenium是什么
- Selenium的框架结构
- Selenium的开发语言,浏览器,驱动
Selenium是什么呢?一个B/S结构的自动化测试工具,涵盖了IDE、Grid、以及Web Driver。但主要需要学习的就是Web Driver,至于IDE大可不必付出专门的精力和时间。
然后需要学习一些前端知识:
因为Selenium支持多浏览器,所以还需要掌握一些前端知识,包括:
- HTML(网页结构,标签)
- XPath(基本的元素定位,正则匹配)
- CSS(简单了解即可)
- JavaScript(简单了解即可)
- Firebug(浏览器开发调试工具)的使用
- 网络基础知识
其中,前端结构,HTML标签,还有一些简单的CSS语法,这是学习Selenium的基础。文档Dom、Xpath就要定位元素,这个会经常用到,也是熟练使用Selenium的一个关键。还需要了解Firebug,用于去查找/定位元素。因为Web测试的过程中都是需要访问互联网服务器,所以,网络相关的基础知识也要有一个简单的认知。
提升
做自动化测试,第一个进阶就是做数据驱动测试,这是一种编程思想,要求数据和脚本(执行逻辑)进行分离。用什么来存储、管理数据呢?例如xlrd、xlwt可以用来操作excel文件,xml库来操作xml文件,把自动化测试相关的参数、数据存储到excel或者xml中,就可以实现自动化测试的参数化。
配合文件配置模块、日志模块等就可以搭建一个简单的自动化测试框架了。数据驱动测试基础要求整理如下:
接下来,就是掌握脚本开发了,包括设计自动化脚本了,设计基础框架,开发自动化测试,进行测试用例的验证。
在回归验证的过程中,必须关注和解决持续集成的问题!这个时候,就需要用到Jenkins,它是持续集成业界里面的老大,包括执行脚本、管理测试用例,发送邮件通知测试结果等!
进阶
自动化测试的提升主要表现在效率、分布式、测试用例的管理,以及更有挑战的测试用例编写:
如上,UI测试用例一般比较多,而且执行太慢,这个时候可以考虑分布式执行;前台界面管理测试用例与执行等,可以学学Django框架;接口测试,需要学习掌握Request、Suds Socket等;更进一步,可以了解一下性能测试工具,如jmeter。
最后
基于Selenium的自动化测试,从基础到精通需要掌握的基础知识与技能已经大概列了出来。每个环节、技能这里仅仅起到了提点的作用,更深入的知识还需要大家在实践中深入。学到容易,灵活应用难,前者是基础,后者是进阶。
最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以点击加入我们,大家一起讨论交流学习。
|