🔥 交流讨论:欢迎加入我们一起学习!
🔥 资源分享:耗时200+小时精选的「软件测试」资料包
🔥 教程推荐:火遍全网的《软件测试》教程
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
前言
从各方来的朋友,能够相聚这篇文章是大家的缘分,也是我的荣幸。
接下来,我要开始和大家讲讲如何从0开始学Python自动化测试。
不论是转行自动化测试还是功能测试进阶自动化还是开发转自动化测试的伙伴,这篇自动化测试工程师学习导图,我想都是可以看看的
同时也相信各位在掌握这份学习导图上的知识点后,能够独立搭建属于各位自己的Python自动化测试框架。
不过前情提要是,在自学完这个知识点后,一定要记得到一些开源网站找合适的项目去练手。
一来是找工作所需,项目经验必不可少
二来需要项目来校验各位目前的学习成果
最后,能够通过成功地做好开源项目,增加各位工作中的自信,明白是一回事,曾经做出来过是另一回事
那么就跟着我下面的自动化测试python栈学习路线,一起看看所需知识点来查漏补缺,并将所学融入到你的公司项目中去吧!
路线图总览
接下里我将从下图六个方面带大家看看自动化测试python栈主要学习方向
- python编程阶段
- APPUI阶段
- WEBUI阶段
- 接口阶段
- 持续集成阶段
- 面试及简历阶段
这张学习路线图过于大,一张图看不清,只好分几张小图给大家看了
第一部分:Python编程必备技术
首先我们说是python栈的知识点,那么python编程肯定是必不可少的,如果你想学会自动化测试,那么python语法就必须会了。
可能有不少人会有问题,为什么只有python栈而没有Java栈、PHP栈这些。
有这方面观点的朋友,我需要矫正一下,各位并不是因为会什么语言才去做什么工作,而是因为这项工作需要什么样的语言才去学习这门语言。
python在自动化测试领域,个人敢说是最好最契合的语言了
诚然五六年前python还未兴起的时候,大家都是用Java做自动化测试,当时测试行业在国内都不怎么注重,不少自动化测试人员都是一线Java开发转岗在做
后来python逐渐火热,大家发现用python做自动化框架是真的好使,自动化测试里python替代Java是形势所趋。
这就有人会问了,“学习python主要包括几部分呢?”
我们直接看图
python语言的学习是python自动化测试最重要的基础部分
首先我们需要了解python这项语言,掌握完整的python编程基础、了解python编程思维、了解面对对象实现思维
这个阶段有其他语言基础的可能会学起来特别的快,没有语言基础的也不用担心,毕竟python语言比之其他语言学起来可以说是最简单的、入门要求最低的语言了
第一阶段: python基础阶段
了解python语言、python安装和python的基础语法
第二阶段: python进阶阶段
函数、文件操作、面对对象原理、python中的各个模块和python自动化发送邮件
第三阶段:数据库的基本知识
MySQL搭建、增删改查、相关查询、python读写
以上是python编程语言的学习点,是最基础也是最重要的内容,往后所有有关python语言的操作都是在这些知识点上面执行或者是它们的衍生
像python和MySQL进行数据驱动、利用python配置文件进行封装、python与unittest结合的单元测试等,许许多多都需要上述知识,python的基础一定要打好
python编程学习视频分享
第二部分:APPUI自动化测试
以上就是python编程语言的学习知识点,继续让我们看第二部分,APPUI自动化测试的知识点部分
APPUI自动化测试中最重要、最基础的就是appium工具。
但是我们需要首先app各类型的了解开始,而后才学习appium工具的安装。
还有app的稳定测试工具monkey及使用monkey和adb指令,以及在app上定位元素的方法。
最后的最后是需要掌握将我们的APPUI的自动化测试,并入我们的自动化框架中。
接下来请看图解
第二部分:APPUI自动化测试
第一阶段 appium基本应用
app类型、app环境搭建及其使用介绍
第二阶段 monkey基本应用
monkey工具、adb指令、编写monkey脚本
第三阶段:appium进阶应用
appium框架、app工具模块的使用、三类等待
第四阶段:APP上元素定位及操作技巧
app上的元素定位及特殊情况处理
第五阶段:APPUI并入自动化测试框架
将做好的APPUI自动化并入测试框架
以上知识点可能比较抽象,APPUI的自动化测试大都需要进行实际操作来学习的,有许许多多的代码和编写规则
APPUI是自动化测试中比较简单的一个部分,其需要的技巧部分是算较少的,大都多练就可以完全掌握
相对应的学会APPUI对薪资的涨幅也非常有限,大概是增幅功能测试岗位的10%~20%第三部分:
WEBUI自动化阶段
我们来看第三部分需要学习的知识点,WEBUI自动化阶段
在学习webUI自动化前,我们不可避免的需要和web前端的同事打交道,学习一部分前端知识是至关重要,和APPUI中了解app类型一样,前端知识是基础且重要的
而后我们才能开始学习webUI自动化测试的常用工具:selenium和webderiver,这两个工具可以说是会贯彻web测试的全过程,其重要程度不言而喻
接下来是元素定位技巧和页面操作技巧,学会了这些可以算是入门的了,说的上是明白一点点自动化测试知识,但还远远说不上会自动化测试
我们还需要更多的自动化测试中常用的知识,例如:断言、封装、二次封装、数据驱动等
学会了以上单元测试框架unittest也是必不可少的,了解unittest测试套件及使用,结合ddt实现数据驱动,生成各种测试报告
最后的最后和APPUI一样,我们需要将我们的web测试并入到我们的自动化测试框架中去
接下来请看图解
第一阶段:前端基础
html基础知识
第二阶段:工具使用
Selenium工具和WebDeriver的使用
第三阶段:元素定位
八大元素定位和xpath定位
第四阶段:web页面常用操作技巧
特殊元素处理、JS的使用、iframe的使用、三类等待
第五阶段:web自动化测试的常用技巧
断言技巧、优化浏览器、二次封装、数据驱动
第六阶段:UnitTest结合Selenium
unittest的原理、测试套件、结合DDT进行驱动、两大测试报告
第七阶段:多线程与分布式
比起APPUI的自动化测试,webUI的学习量就变得大多了,其实这里面很多技巧在APPUI中也是可以使用的
但抱着由简入深的想法,就没在APPUI中提及,而且appUI的测试中用到这些技巧的次数没有webUI那么频繁,就将这些知识点划分到webUI中了
WEBUI自动化测试项目视频分享
第四部分:接口自动化测试
第四部分是个比较重要的一部分,那就是接口自动化测试
不管是APP也好还是web也好,只要是需要大众的软件就都绕不开接口,那么也就绕不开接口自动化测试了
第一步在接口自动化测试中,最基础最重要的知识点就是接口协议,明白什么是接口才能做好接口自动化测试
第二步则是掌握接口测试工具的使用,最常用的postman或者jmeter
第三步需要解读接口文档、知晓需要测试的地方及做好模拟测试
第四步接口相关的数据库的使用、以及如何操作这些数据
第五步和UI测试中一样,我们需要讲接口测试并入到搭建的测试框架中
学完这些可以到什么程度呢?
- 完全结合企业级flask接口框架讲解基于requests库的接口自动化测试技巧
- 掌握完整的接口自动化测试技能
- 掌握http协议原理
- 掌握关联接口的测试实现
- 独立搭建一套完整基于关键字驱动+excel+unittest+beautifulreport+yaml+分布式+多线程的自动化接口测试框架
- 实现更为高级的大批量接口自动化测试实现
- 掌握第三方开源接口框架yapi的实际应用
接下来请看图解
第一阶段:什么是接口
接口的基础知识
第二阶段:接口工具的使用
jmeter和postman
第三阶段:接口测试的准备工作
接口文档及接口测试的提前工作
第四阶段:数据库知识
各种数据库的使用
第五阶段:数据导入与测试
接口数据关联、DDT数据驱动、python做接口框架
当你学会了webUI自动化,APPUI自动化和接口自动化,就像是掌握了三叉戟上的三根利刃
还需要最后一根集成这三根利刃的棍子,不然就就仅是三根利刃发挥不出功效,这就是耕田的犁和三叉戟的区别
接口自动化测试项目视频分享
看到最后的要点
最后再给大家讲一些在自动化测试学习上面的几个要点吧!!!
学习自动化测试是否真的需要学习代码?
这个是肯定的,虽然我们有robotframework这样不需要代码就能实现自动化测试的工具
但是我们要清楚我们做的是自动化测试框架而不是单纯的自动化测试
我是需要先学习工具还是先学习框架呢???
当然是先学习工具,只有了解各种工具他们的特性,才能更好的选择工具来搭建框架,而框架思维无非是当下两种模式——pom模式和关键字驱动模式
如果你想要参加培训来系统学习自动化测试
就一定要先问清楚,他们是教自动化测试工具?还是教你写自动化测试框架?框架的思维会教哪些?
毕竟会工具和会框架这两者是有很大区别的,在上述三叉戟和犁的例子就能看得很明显了。
只会自动化测试工具,无非就是编写一些线性脚本,薪资也就11K左右,而且这个求薪标准对面还需要考虑考虑,让一个薪资更低的人担任岗位
不过如果你是自己搭建自动化测试框架,框架符合公司需求,维护起来也不复杂,就算薪资18K,面试官都是求着她来。
码字不易,希望我的回答对你有用哦!!!
最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!