零基础如何学习自动化测试

现在很多测试人员有些急于求成,没有任何基础想当然的,要在一周内上手自动化测试。

在自动化的过程中时候总有人会犯很低级的问题,有语法问题,有定位问题,而且有人居然连__init__.py 文件名都弄错误,还有将 pageage(包名) 命名为 selenium、appium 等导致无法引入相应库等等很多问题。

写个 selenium 脚本执行不成功抛出个异常,就无从下手?异常类型都提示NoSuchElementException,都告诉你没有这样的元素,元素找不到怎么处理。

自动化测试过程中会遇到各种奇葩问题,有时会让人很无语,思维灵活点的人总能找到各种奇葩的解决方法,而对于那些思维僵硬的人来说,如同天堑,彻底打击你对自动化测试的信心。

问题很复杂,其实解决问题的方法很简单,只是基础没学好而已,不懂或者没有熟练掌握一门编程语言,今天我就在这里讲下如何学习自动化?

一、编程语言是一切的基础

要做好自动化测试,编程语言是基础,是首要的。然而大部分测试人员不懂编程,感觉编程很难也不想学编程,没有编程基础就直接上手自动化测试,导致错误频出,越做越没有信心,进入了死循环。

没有编程基础想学自动化很难,非常难,会编程的人两到三周就能上手自动化测试,而不会编程的你就是做了半年,都可能还没有入门。

当然有些人会说:‘现在的自动化测试工具都有录制功能,我录制代码就行了。’我只能用‘呵呵’回应你。你可以尝试录制几个测试脚本,看看录制的脚本能用多久。所以不懂编程绝对做不好自动化测试。

关于学习 selenium 语言的选择,推荐 python3 ,其次 java ,不推荐选择其他语言,小众的语言遇到问题很难找到资料。但 java 语言的学习时间成本太高,所以我建议你学习 Python。Python 简单、容易理解,学习成本低,而且它够强大,Python 他能做的事情永远超乎你的想象,同样的事情 python 的实现方式往往更加简单。

在学习 Python 时不要为了做自动化测试而学习 Python,selenium 只是 python 中的一个库而已,Python 他还有千千万万的库,他能帮助你做各种各样的事情,如 requests 库能让web 接口自动化测试变得很简单。

二、Python 学习

1、如果你没有语言基础,完全零基础请知道基本的数据结构和循环判断、函数定义,你就可以开始上手自动化测试,当然前期推荐使用 web 练手,移动端的自动化测试的环境太复杂,可能光环境搭建就能将你磨得没有信心。

2、对于那些学习 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 技能也能提高一大截。

七、自动化测试思想

思想绝定高度,上面你只是学会了自动化测试的工具使用,还有自动化测试的理论,你必须理解。

最后:

欢迎关注公众号:程序员阿沐,领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!

这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值