现在很多测试人员有些急于求成,没有任何基础想当然的,要在一周内上手自动化测试。
在自动化的过程中时候总有人会犯很低级的问题,有语法问题,有定位问题,而且有人居然连__init__.py 文件名都弄错误,还有将 pageage(包名) 命名为 selenium、appium 等导致无法引入相应库等等很多问题。
写个 selenium 脚本执行不成功抛出个异常,就无从下手?异常类型都提示NoSuchElementException,都告诉你没有这样的元素,元素找不到怎么处理。
自动化测试过程中会遇到各种奇葩问题,有时会让人很无语,思维灵活点的人总能找到各种奇葩的解决方法,而对于那些思维僵硬的人来说,如同天堑,彻底打击你对自动化测试的信心。
问题很复杂,其实解决问题的方法很简单,只是基础没学好而已,不懂或者没有熟练掌握一门编程语言,今天我就在这里讲下如何学习自动化?
一、编程语言是一切的基础
要做好自动化测试,编程语言是基础,是首要的。然而大部分测试人员不懂编程,感觉编程很难也不想学编程,没有编程基础就直接上手自动化测试,导致错误频出,越做越没有信心,进入了死循环。
没有编程基础想学自动化很难,非常难,会编程的人两到三周就能上手自动化测试,而不会编程的你就是做了半年,都可能还没有入门。
当然有些人会说:‘现在的自动化测试工具都有录制功能,我录制代码就行了。’我只能用‘呵呵’回应你。你可以尝试录制几个测试脚本,看看录制的脚本能用多久。所以不懂编程绝对做不好自动化测试。
关于学习 selenium 语言的选择,推荐 python3 ,其次 java ,不推荐选择其他语言,小众的语言遇到问题很难找到资料。但 java 语言的学习时间成本太高,所以我建议你学习 Python。Python 简单、容易理解,学习成本低,而且它够强大,Python 他能做的事情永远超乎你的想象,同样的事情 python 的实现方式往往更加简单。
在学习 Python 时不要为了做自动化测试而学习 Python,selenium 只是 python 中的一个库而已,Python 他还有千千万万的库,他能帮助你做各种各样的事情,如 requests 库能让web 接口自动化测试变得很简单。
学习过我下面的视频,知道基本的数据结构和循环判断、函数定义,你就可以开始上手自动化测试,当然前期推荐使用 web 练手,移动端的自动化测试的环境太复杂,可能光环境搭建就能将你磨得没有信心。
3、对于那些学习 python 不是为了做自动化测试的人,推荐看 python核心编程(第三版)进行补充学习,也可以看看 Python 中高级教程 和 Python常用库与框架运用 。
三、前端基础知识
学习编程语言是自动化测试基础的第一步,为了做好自动化,还需要补充简单的前端基础知识:
HTML(网页结构,各种标签,如链接、输入框、按钮等使用哪个标记)
JavaScript(简单了解,需要会写简单的脚步)
Firebug 或者 Chrome 开发者工具的使用(必须会,他是最常用的抓取元素工具)
注意:在这里再次提醒
很多新手一开始就学习复杂的自动化测试工具,学习 web 自动化测试前需要理解 HTTP 协议,HTML 标记,DOM 。如果你对这些不了解,那么后面的元素定位与操作就无从说起。而且遇到很简单的问题你都不知道怎么处理,找不到点。
总之学习自动化测试,需要循序渐进,先将基础打好。
四、selenium学习
在 selenium 学习前了解下 selenium 的原理,selenium 操作浏览器需要依赖的驱动,驱动版本与浏览器版本也有对应关系,尤其是IE浏览器。
selenium学习流程:
浏览器控制(打开网页,最大化,关闭)
元素定位(优先id,name,link text其次class,partial link text,最后xpath)
操作元素(点击,输入,是否可见)
下拉框处理
等待时间(固定,显性,隐性)
浏览器弹窗操作
frame的切换
浏览器页签的切换
js操作页面元素
模拟鼠标和键盘操作
五、python 单元测试框架 unittest 学习
学会了 selenium 还是不够的,要对用例进行管理还要学会单元测试框架,Python 有很多单元测试框架,推荐 unittest 或者 nose,两者的资料都好找而且比较好用。
unittest 可以简单学习下基本结构,知道 setUp,test_XX,tearDown 的执行顺序,批量用例执行,HTMLTestRunner 测试报告,DDT 数据驱动。
六、编写自己的测试框架
学会了一、二、三步,恭喜你已经迈进了自动化测试的大门,最后你要学会自动化测试的思想,自动化测试的流程,注意事项。
编写自己的测试框架,框架需具备以下功能:常用的操作封装、数据的管理、Html测试报告、用例的规划执行等基本功能。
然后慢慢对你的测试框架增加功能,可以对常用数据使用配置文件(configparser)、参数化(DDT)、记录日志(logging),脚本自动执行,自动发送报告,失败用例重跑等,一个成熟自动化测试框架就搭建起来,你的 Python 技能也能提高一大截。
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!