现在很多测试人员有些急于求成,没有任何基础想当然的,要在一周内上手自动化测试。
在自动化的过程中时候总有人会犯很低级的问题,有语法问题,有定位问题,而且有人居然连__init__.py 文件名都弄错误,还有将 pageage(包名) 命名为 selenium、appium 等导致无法引入相应库等等很多问题。
写个 selenium 脚本执行不成功抛出个异常,就无从下手?异常类型都提示NoSuchElementException,都告诉你没有这样的元素,元素找不到怎么处理。
自动化测试过程中会遇到各种奇葩问题,有时会让人很无语,思维灵活点的人总能找到各种奇葩的解决方法,而对于那些思维僵硬的人来说,如同天堑,彻底打击你对自动化测试的信心。
问题很复杂,其实解决问题的方法很简单,只是基础没学好而已,不懂或者没有熟练掌握一门编程语言,今天我就在这里讲下如何学习自动化?
一、编程语言是一切的基础
要做好自动化测试,编程语言是基础,是首要的。然而大部分测试人员不懂编程,感觉编程很难也不想学编程,没有编程基础就直接上手自动化测试,导致错误频出,越做越没有信心,进入了死循环。
没有编程基础想学自动化很难,非常难,会编程的人两到三周就能上手自动化测试,而不会编程的你就是做了半年,都可能还没有入门。
当然有些人会说:‘现在的自动化测试工具都有录制功能,我录制代码就行了。’我只能用‘呵呵’回应你。你可以尝试录制几个测试脚本,看看录制的脚本能用多久。所以不懂编程绝对做不好自动化测试。
关于学习 selenium 语言的选择,推荐 python3 ,其次 java ,不推荐选择其他语言,小众的语言遇到问题很难找到资料。但 java 语言的学习时间成本太高,所以我建议你学习 Python。Python 简单、容易理解,学习成本低,而且它够强大,Python 他能做的事情永远超乎你的想象,同样的事情 python 的实现方式往往更加简单。
在学习 Python 时不要为了做自动化测试而学习 Python,selenium 只是 python 中的一个库而已,Python 他还有千千万万的库,他能帮助你做各种各样的事情,如 requests 库能让web 接口自动化测试变得很简单。
二、Python 学习
1、如果你没有语言基础,完全零基础,这里我整理了一份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 技能也能提高一大截。
七、自动化测试思想
思想绝定高度,上面你只是学会了自动化测试的工具使用,还有自动化测试的理论,你必须理解。
最后
如果你想学习自动化测试,那么下面这套视频应该会帮到你很多
如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....
最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!
以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。