老司机专为测试新手绘制的学习selenium路线图(基础普及篇)!

栏目: 编程工具 · 发布时间: 6年前

最近后台有很多小伙伴留言 ,想 学习 selenium, 但是一直找不到思路和方法 ,还没入门就迷路了,于是 亲手 编写了这篇学习路线图 希望能帮助初学者快速入门,帮助已入门的朋友尽快提升。

学习之前,要弄懂 什么是Selenium?

Selenium是浏览器自动化工具,主要用来Web的自动化测试,以及基于Web的任务管理自动化。它支持的语言有:python、 Javaruby 、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技能,从不会到熟练只差一步。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python高效开发实战

Python高效开发实战

刘长龙 / 电子工业出版社 / 2016-10 / 89

也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python及其周边Web框架的学习和实践,你就可以成为这样的全能型人才。 《Python高效开发实战——Django、Tornado、Flask、Twisted》分为3部分:第1部分是基础篇,带领初学者实践Python开发环境和掌握基本语法,同时对......一起来看看 《Python高效开发实战》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试