最近后台有很多小伙伴留言 ,想 学习 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技能,从不会到熟练只差一步。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python高效开发实战
刘长龙 / 电子工业出版社 / 2016-10 / 89
也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对Python及其周边Web框架的学习和实践,你就可以成为这样的全能型人才。 《Python高效开发实战——Django、Tornado、Flask、Twisted》分为3部分:第1部分是基础篇,带领初学者实践Python开发环境和掌握基本语法,同时对......一起来看看 《Python高效开发实战》 这本书的介绍吧!