最近后台有很多小伙伴留言 ,想 学习 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的 学习 很容易令人感到疲惫,许多测试会无故地失败,让这些测试得到正确的结果是非常繁琐的工作,重复性的样板代码令人提不起兴致 ,这时就要挖掘自己的兴趣,让测试变得快乐。我 归纳 了 一个小技巧,就是联想,或者说关联思考?联想有助于归纳你所学到的东西,并在需要的时候可以演绎出新的知识。联想同类型的业务的现实,可能一开始没有太多可以联想的,但时间长了会好的 ,愿你、我都能离梦想越来越近!
欢迎加入51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 2173383349
关注51Testing软件测试网,提升it技能,从不会到熟练只差一步。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Cyberwar
Kathleen Hall Jamieson / Oxford University Press / 2018-10-3 / USD 16.96
The question of how Donald Trump won the 2016 election looms over his presidency. In particular, were the 78,000 voters who gave him an Electoral College victory affected by the Russian trolls and hac......一起来看看 《Cyberwar》 这本书的介绍吧!