新手学习selenium路线图(老司机亲手绘制)

前言:

最近群里有不少小白,想入手selenium,但是一直没找到学习路线,还没入门就迷路了,于是小编亲手绘制了一幅学习路线图。希望能帮助小白快速入门,帮助已经入门的,尽快提升!

学习selenium主要分五个阶段,自己在哪个层级,可以对号入座下。

第一阶段:幼儿园 1.选语言:在学习自动化前,先要选一门语言学习,而不是选什么工具,学习selenium,目前最流行的是java和python,至于选哪个,看自己的爱好了,这里就不说哪个语言好(php才是最好的语言)。小编是半路出家,没什么语言基础,所以选的python作为自动化入门的脚本语言。

2.python:选好语言之后,接下来就是学习基础的语法了,目前市面上python脚本分为2个:python2和python3,区别到不是很大,新手的话建议python2吧,有一定解决问题能力的小伙伴可以直接入手python3

3.python基础:选好python版本后,接下来就是python的基础学习了,python的基础教程目前网上有非常成熟的学习教程了,适合新手 的教程小编推荐2个:第一个是廖雪峰的,这个可以说是国内比较成熟的,并且适合小白入门的课程了http://www.liaoxuefeng.com /;另外一个网站是python菜鸟教程http://www.runoob.com/python/python-tutorial.html。基础的东西主要包括:print、变量、数据类型、for、if、while这些,这些基本的了解了,差不多就可以上手了。

4.selenium:接下来就是学习selenium了,selenium目前有三个版:selenium1也就是selenium RC这个已经很古老了,不用浪费时间去研究了;然后是selenium2,这个是目前最流行的了;最近出的selenium3,其实selenium2区别不大,主要是启动firefox会遇到两个坑,刚入手的小白估计踩到坑里就爬不起来了。试下一下,好不容易环境搭建好了,结果启动firefox报错,简直就是当面一盆子冷水泼过来。好不容易解决完前面的一个坑,然后又有第二坑。所以小白入手selenium推荐selenium2

第二阶段:小学

5.selenium API:很多小伙伴学习自动化喜欢先用录制的工具,学自动化录制是 最不靠谱的,举个简单例子:如果一个元素的id是动态的,你这次录制好了,回放时候,元素id已经变了,这时候不管你怎么回放都是不成功的。所以录制这玩意,了解下原理就可以了,不用花时间去研究。学习selenium,我们直接去看api文档就行。

6.元素定位:selenium提供了八种元素定位:id、name、class、tag、link、patail_link、xpath、css.对于元素定位不太懂的这个时候需要用到firepath和firebug来辅助定位,这时候就需要补充下html的知识了,对html越熟悉,你定位元素越快。先是通过简单的元素属性定位,后来你发现有些元素的属性没有,或者很多重复,被我们的开发同学不规范的代码坑的不要不要的,这时候就得学xpath了

7.xpath:xpath定位基本上可以解决80%的元素定位问题,但也不是万能的,很多小伙伴刚接触时候,简直就是当成宝。xpath可以看成定位界的宝刀屠龙,虽然威力大,但是比较笨重,定位元素慢,语法很长,还不稳定,也是被坑的不要不要的,这时候有必要去学习下css了

第三阶段:中学

8.css:css定位速度快,稳准狠,定位界的倚天剑,轻巧,语法简洁。但也不是万能的,有些模糊匹配的地方,还是得靠xpath大哥来搞定

9.操作元素:定位好元素之后接下来就是操作元素了,主要有困难的是鼠标事件和键盘事件

10.判断元素:操作完后,就是获取返回结果了,或者是判断元素是不是期望结果

11.unittest:前面都是简单的操作,无法生产测试用例,是时候找个测试框架帮我们运行用例了,于是就依靠unittest

12.测试报告:用例执行完之后,总得有个测报告吧,这时候需要用到html的测试报告

13.发送邮件:报告生成好之后,我总不能每次去电脑上打开查看吧,是时候学习下自动发送邮件了

第三阶段:高中

14.函数:前面简单的用例搭建好之后,写用例时候,发现每次重复操作更记流水账一样,这个时候就要学习函数了,把常用的方法写成函数调用

15.类和方法:当函数写多了后,发现不少很方便,能不能把常用的操作写到一块,需要哪个直接调用呢,这时候就得学习类和方法了

16.参数化:用例优化的差不多时候,发现测试数据想改下,找起来好麻烦,于是想到把测试数据分离出来,用到参数化

17.数据驱动:参数化后,紧接着就是数据驱动啦,用例写好后,仅需维护测试数据就可以了

第四阶段:大学

18.封装:常用的方法已经非常熟练了,这时候需要封装了

19.jenkins:当用例写的差不多后,最后肯定是希望能一键执行,这时候,需要用到jenkins来做持续集成

20.代码仓库:多人一起做自动化项目时候,这时候需要代码同步,于是会遇到svn、git工具

第五阶段:研究生

21.js:前面selenium东西学完之后,发现很多场景是selenium无法完成的,比如浏览器的滚动条,这时候需要学js啦。。。

22.学无止境:接下来要看个人的研究方向了,学无止境。。。

那么问题来了:这么多东西,如何下手呢?

首先给自己定个小目标,先关注个微信公众号:yoyoketang

然后关注个一个神奇的博客:http://www.cnblogs.com/yoyoketang/

啥都有,你懂得!

本文分享自微信公众号 - 从零开始学自动化测试(yoyoketang)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android知识点总结

01--Java核心之JVM引入篇

虚拟机即:虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的 JVM只是一种用于计算设备的规范,广义来说相当于一个接口,而接口的实现可以不...

9830
来自专栏ThoughtWorks

都100%代码覆盖了,还会有什么问题?

(图片来自:http://t.cn/R06rQHi) 引言 很多人看到这个标题时,都会想“你都100%代码覆盖了,怎么还会有问题呢?” 让我们看一下代码例子:...

40380
来自专栏落影的专栏

新鲜出炉的iOS面试题

为防止背题,大部分题目不设标准答案,重点考察面试者的基础知识和思维逻辑,答案的提示见后面。

26120
来自专栏北京马哥教育

Python是什么?点进来

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言...

427110
来自专栏ytkah

finecms在任意页面调用栏目名称和地址等

  finecms如何调用栏目名称和地址呢?在任意页面。我们有时需要在不同的页面调用某个栏目名,怎么调用比较快呢?ytkah整理了一些快速调用语句方便查找 栏目...

37140
来自专栏编程之路

7天从0到一个完整的小程序

如果你熟悉公众号开发的套路,那么入手小程序就很快了。如果你熟悉app开发,那入手也是很顺畅的,我认为关键在于移动开发思想。

31770
来自专栏程序人生 阅读快乐

Linux Shell编程与编辑器使用详解

本书由浅入深,全面、系统地介绍了Linux技术,书中提供了大量实例,供读者实战演练。另外,本书有很多关于Linux下的命令操作内容,所以对于每个命令、每个管理设...

13410
来自专栏企鹅号快讯

PHP的学习路线

1、PHP的学习路线 任何网站全都是由网页组成的,也就是说想完成一个网站,必须先学会做网页,掌握静态网页的制作技术是学习开发网站的先决条件。 因此我们要学习HT...

797100
来自专栏程序人生

软件随想录:代码与数据

在程序的世界里,代码和数据犹如一对孪生兄弟,你中有我,我中有你,有时候不大分得清楚。如果你研究过 linux 的 ELF(Executable and Link...

370110
来自专栏领域驱动设计DDD实战进阶

领域驱动设计之实体、值对象、领域服务

62790

扫码关注云+社区

领取腾讯云代金券