ITPub博客

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

原创 作者:博为峰网校 时间:2018-08-03 14:35:13 0 删除 编辑

最近后台有很多小伙伴留言 ,想 学习 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的 学习 很容易令人感到疲惫,许多测试会无故地失败,让这些测试得到正确的结果是非常繁琐的工作,重复性的样板代码令人提不起兴致 ,这时就要挖掘自己的兴趣,让测试变得快乐。我 归纳 一个小技巧,就是联想,或者说关联思考?联想有助于归纳你所学到的东西,并在需要的时候可以演绎出新的知识。联想同类型的业务的现实,可能一开始没有太多可以联想的,但时间长了会好的 ,愿你、我都能离梦想越来越近!

关注 51Testing软件测试网,提升it技能,从不会到熟练只差一步。


请登录后发表评论 登录
全部评论

注册时间:2016-11-02

  • 博文量
    22
  • 访问量
    6394