前言:

本来这篇是只在微信公众号(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啦。。。

转载地址(http://www.cnblogs.com/yoyoketang/)

转载于:https://www.cnblogs.com/xqh1215/p/7942942.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. 如何比较js 浮点数
  2. chrome 技巧篇-如何查看web元素绑定的监听事件
  3. Linux IPv6 UDP套接字编程示例
  4. 图片轮播器,relativelayout,外加textview小结
  5. SQL Server 2019安装教程
  6. python基础有哪些内容_Python基础练习
  7. linux 依赖关系解析失败,关于linux依赖关系出错的解决
  8. bootstrap 点击按钮刷新_Spring Cloud 中的 Bootstrap 上下文
  9. java判断经纬度是否在扇形内_地理坐标是用经度
  10. Dan 计划:重新定义人生的10000个小时
  11. 西门子PLC S7-200 SMART简介
  12. 基于JSP的网上订餐管理系统
  13. Windows 10 安装Jenkins 图文教程
  14. 【Hive】(九)Hive 窗口函数总结
  15. java查询学号数据库_数据库SQL查询语句练习题 PDF 下载
  16. B树、B+树、B-树特点整合
  17. 帽子接球小游戏(一)--制作UI面板
  18. SQL Plus的使用
  19. 公共关系礼仪实务章节测试题——公共关系的类型(四)
  20. cmake导入so库_通过CMake方式生成动态库so文件

热门文章

  1. c语言:鸡兔同笼问题
  2. Redhat 国内Yum源配置
  3. 微信抢红包微信 PHP代码实现
  4. Cobalt Strike之网站克隆
  5. Matlab 如何实现身份证号码快速识别
  6. springboot mime类型处理
  7. C语言基础期末复习题(带详解答案)
  8. 低功耗验证 (二)UPF,低功耗流程,VCS NLP
  9. Michele Maggiore《A Modern Introduction to Quantum Field Theory》(米歇尔·马焦雷《量子场论现代导引》)中文目录
  10. windows中判断注册表键值是否存在的一段函数