这篇文章主要为大家展示了“如何学习selenium”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何学习selenium”这篇文章吧。
要弄懂什么是Selenium?
Selenium是浏览器自动化工具,主要用来Web的自动化测试,以及基于Web的任务管理自动化。它支持的语言有:python、Java、ruby、JavaScript等,并且几乎能在主流的浏览器上运行。
Selenium2.0、Selenium3.0主要由三大部分组成:SeleniumIDE、Selenium WebDriver、Selenoium Grid。
Selenium IDE:录制和回放脚本,可以模拟用户对页面的真实操作,区别于其他工具:是通过拦截http请求。
一般只把录制脚本当作一个辅助功能,因为一个UI节点的细微变化,都可能导致自动化测试工具无法识别,当测试项目项目大时,定位、更新十分困难。
其次,录制的脚本有时候人工难以理解。
Selenium Grid:实现在多台机器上、和异构环境中并行执行测试用例。并行执行不仅节省时间,而且可以同时在不同的浏览器、平台上运行自动化测试脚本。
Selenium Web Driver:针对各个浏览器而开发,通过原生浏览器支持或者扩展(Chrome webDrive、FireFox WebDriver)直接控制浏览器
VS Selenium RC(Selenium1.0):在浏览器中运行javaScript,使用浏览器内置的JavaScript来翻译和执行selense
学习selenium分5步走:
第一步:幼儿园阶段
1.选语言:在学习自动化前,先要选一门语言学习,目前最流行的是java和python,我也没什么语言基础,选的python作为自动化入门的脚本语言。
2.python:选好语言,就要学习基础的语法,目前市面上python脚本分为2个:python2和python3,新手的话建议python2。
3.python基础:选好python版本后,接下来就是python的基础学习了,python基础的东西主要包括:print、变量、数据类型、for、if、while这些,这些基本的了解了,差不多就可以上手了。
4.selenium:selenium目前有三个版:selenium1也就是selenium RC,不用多说大家应该都知道,selenium2,目前最流行的; 新出的selenium3,与selenium2区别不大,主要是启动firefox会遇到两个坑,不大适合刚入手的小白,所以我推荐初学者selenium2。
第二步:小学阶段
5.selenium API:很多人学习自动化喜欢先用录制的工具,但如果遇到动态元素的id,回放便会失败。所以录制并不靠谱,了解下原理即可,不需花太多时间。学习selenium,我们直接去看api文档就行。
6.元素定位:selenium提供了八种元素定位:id、name、class、tag、link、patail_link、xpath、css.小白如果不懂可以用firepath和firebug来辅助定位,先是通过简单的元素属性定位,接着就得学xpath了
7.xpath:xpath定位基本上可以解决80%的元素定位问题。xpath可以虽然作用大,但是比较笨重,定位元素慢,语法很长,还不稳定,这样就有必要去学习下css了。
第三步:中学阶段
8. css:css定位速度快,稳准狠,轻巧,语法简洁。但还是有些模糊匹配的地方,还是要用xpath。
9. 操作元素:定位好元素之后接下来就是操作元素了,主要有困难的是鼠标事件和键盘事件。
10.判断元素:操作完后,就是获取返回结果了,或者是判断元素是不是期望结果。
11.unittest:测试框架帮我们运行用例。
12.测试报告:用例执行完后,html测试报告。
13. 发送邮件:报告生成好之后,需自动发送邮件
第三步:高中阶段
14.函数:写用例时,解决重复操作问题,就需把常用的方法写成函数调用。
15.类和方法:函数写多,可以常用的操作写到一块,按需直接调用, 就要学习类和方法。16.参数化:想改测试数据,需把测试数据分离出来,用到参数化
17.数据驱动:用例写好后,仅需维护测试数据就可以了
第四步:大学阶段
18.封装:方法熟练,就需要封装了
19.jenkins:希望一键执行用例,需要用到jenkins来做持续集成
20.代码仓库:多人执行自动化项目,需代码同步,就要用svn、git工具
第五步:研究生阶段
21.js:前面selenium东西学完,但也会发现问题,比如:浏览器的滚动条,很多场景是selenium无法完成的,就需要学js。
22.学无止境:根据个人的研究方向,进一步深度学习。
Selenium的学习很容易令人感到疲惫,许多测试会无故地失败,让这些测试得到正确的结果是非常繁琐的工作,重复性的样板代码令人提不起兴致,这时就要挖掘自己的兴趣,让测试变得快乐。我归纳了一个小技巧,就是联想,或者说关联思考?联想有助于归纳你所学到的东西,并在需要的时候可以演绎出新的知识。联想同类型的业务的现实,可能一开始没有太多可以联想的,但时间长了会好的,愿你、我都能离梦想越来越近!
以上是“如何学习selenium”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/222529.html