前言:

本来这篇是只在微信公众号(yoyoketang)上发布的,最近一搜,发现本很多人copy(copy公众号的,图片是加载不出来的)了,还没注明出处,不想多说什么,博客上也同步更新这篇吧!

最近群里有不少小白,想入手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/

啥都有,你懂得!

学习过程中有疑问加seleniumQQ群:646645429

selenium+python高级教程》已出书:selenium webdriver基于Python源码案例

(购买此书送对应PDF版本)

转载于:https://www.cnblogs.com/yoyoketang/p/6537568.html

新手学习selenium路线图(老司机亲手绘制)-学前篇相关推荐

  1. 我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中)

    我学习 Java 的历程和体会(写给新手看,欢迎老司机批评和建议,持续更新中) 最初写这篇文章的时候,是在今年的 9 月中旬.今天,我想再写写这将近两个多月以来的感受. 在今年的 10 月我来到北京求 ...

  2. 8T磁盘阵列文件存储服务器 威联通,NAS私有云老司机折腾体验记 篇八:QNAP 威联通TR-004磁盘阵列外接盒使用教程...

    NAS私有云老司机折腾体验记 篇八:QNAP 威联通TR-004磁盘阵列外接盒使用教程 2019-03-19 11:38:24 25点赞 232收藏 28评论 之前,为了追求极佳的笔记本使用体验,笔者 ...

  3. 学习 Java 的历程和体会『写给新手看,欢迎老司机批评和建议』

    转载出处:https://blog.csdn.net/lw_power/article/details/52502698#commentBox Java 基础只能说熟悉,还达不到熟练,更谈不上精通.框 ...

  4. 读论文七步走!CV老司机万字长文:一篇论文需要读4遍

      视学算法报道   编辑:LRS [新智元导读]读论文对于AI新手和工程师来说可能是一件比较难的事.最近一位从业超5年的CV老司机发布了一篇万字长文,讲述了读论文七步法,从找论文到总结,每篇论文由浅 ...

  5. apk 泊车摄像头_【实测】 有了这款360全景泊车神器 新司机秒变老司机

    儿童被卷入车轮的事故屡见不鲜,倒车难的问题也时常出现,多种剐蹭碰撞事故的发生,往往起因均是由于驾驶盲区导致. 这些事故的频发让驾驶盲区成为亟待解决的痛点之一,虽然现在很多车都安装有倒车影像和倒车雷达, ...

  6. 美图收割机,老司机带你用Python,轻松获取1000张美女图片

    牛老师是一个滴水之恩当涌泉相报的人. 看着群里小伙伴们的无私分享,再看看自己空空如也的文件夹,我羞愧的低下了头 . 为了能回报小伙伴,和广大无私的网友 牛老师毅然决然的做出了这个造福人民的决定 靠着这 ...

  7. 【AI学院】新手如何学CV?老司机带学有三书籍《深度学习之图像识别》,赠书8本...

    为什么以及怎么学计算机视觉? 作为一个普通的程序员,如果能转型成为一个计算机视觉算法工程师,带来的不仅是高薪,还有从劳动密集型工种转化为智力密集型工种带来的"阶级跃迁".因为相对于 ...

  8. autocad不能画图_设计院老司机谈CAD:学习AutoCAD掌握方法技巧更重要

    设计院老司机谈AutoCAD制图,真的是一个不容易的过程,说实话对自己还是很佩服的,当然学习AutoCAD不仅仅有勇气就行,掌握方法技巧更重要. 总是一句话,难就对了!哈哈哈是不是有点扎心~ 事实上就 ...

  9. Python老司机总结新手常见10大错误

    作为python的新手,大家在上手python的时候都会或多或少的接触到一些rookie mistake,也就是菜鸟级别的错误.小编作为一个老司机也是从这些错误中一点一点的积累经验,才慢慢的能够熟练的 ...

  10. 安卓音视频入门难,老司机分享音视频开发学习技巧与痛点

    最近在写文章的时候,发现很多读者给我私信提问,想了解安卓音视频这块, 很多同学也对音视频开发有点浓厚的兴趣,但奈何没有系统的学习知识,仅靠自己苦苦钻研确实力不从心,今天就借这个机会分享一下我学习音视频 ...

最新文章

  1. linux ora01075,操作系统时间被修改导致ORA-01075和ORA-00600[2252]
  2. mysql查询字符串出现次数
  3. C# 生成 MongoDB 中的 ObjectId
  4. python exe文件运行依赖环境_python将py代码文件转换为EXE脱离环境运行
  5. linux 监控命令iostat,Linux下 IO实时监控iostat命令详解
  6. 一个漂亮的Bootstrap查找查询框,带下拉选择按钮
  7. 从张量积(tensor product)到多重线性代数(multilinear algebra)
  8. GitHub 上四万 Star 大佬的BATT求职回忆
  9. java 小数如何转换成百分数_看似简单,在JAVA中如何将一个Object转换成Array
  10. 利用EDA技术进行电子系统的设计有什么特点?
  11. 微信开发者工具 文件删除操作 二次确认框 设置
  12. 高级JAVA面试题详解(三)——Redis(redis cluster、虚拟槽、一致性hash算法、master选举、淘汰策略、String数据结构)
  13. 二层交换机和三层交换机的工作原理
  14. 2020年wordpress主题开发视频教程、WP主题WP模板开发视频教程
  15. pdfminer转换PDF为html,【记录】尝试使用pyPdf将不可复制的PDF转换为文本或HTML
  16. 总在说双亲委派,但双亲委派是什么,双亲委派和类加载的关系,简单讲解
  17. Quartz(二) quartz测试
  18. 企业为什么要通过直播来做营销呢?
  19. 前端如何使用阿里巴巴矢量图库的图标
  20. Oracle使用脚本导出数据(spool)

热门文章

  1. mysql8搭建innodb_cluster集群
  2. 在 Ubuntu 18.04 上安装 Python 3.7
  3. Linux之文件基础操作命令
  4. [转]xshell使用技巧
  5. iOS----------APP怎样做更安全
  6. Bing搜索背景图抓取
  7. javascript生成n至m的随机整数
  8. 电信网通南北分治 学者呼吁应查处
  9. 移动端 Modal 组件开发杂谈
  10. ELK之ES-Logstash-Kibana互联