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

在自动化的过程中时候总有人会犯很低级的问题,有语法问题,有定位问题,而且有人居然连__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自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

零基础如何学习自动化测试相关推荐

  1. python语言自学-零基础小白学习Python编程语言的正确姿势(纯干货)

    原标题:零基础小白学习Python编程语言的正确姿势(纯干货) 敢问有哪种编程语言集简洁.优雅.简单.全能于一身?Python绝对算的上是一个.举个例子,比如完成同一个任务,C语言需要写1000行代码 ...

  2. 零基础学python难吗-Python课程学习难不难?零基础可以学习Python吗?

    零基础入门Python常见的问题有哪些?Python是一门非常不错的编程语言,而且该语言通俗易懂.容易上手,不过大家对于Python的了解并不是很多,也经常对它产生疑问.那么学习Python难不难?零 ...

  3. 零基础如何学习Python?

    今天小编要跟大家分享的文章是关于零基础如何学习Python?很多想要学习Python技术的零基础学员都想知道如何才能快速入门Python.想要学习Python的小伙伴们快来和小编一起看一看吧! 一.P ...

  4. 零基础怎么学习软件测试

    掌握一门可持续发展的热门技术,可以帮你"甩开"很多同龄人.当然选择什么技术也很重要,要跟着时代走,要看行业大发展方向是什么,当下,软件测试就是一个不错的选择,不仅是数字化刚需岗位, ...

  5. 零基础怎么学习Java?

    最近几年,有很多小伙伴都比较关注"零基础怎么学习Java?"这个问题,因为很多小伙伴都是从其他行业转型来参加java培训学习的,都很担心自己学不会,那么来看看下面的详细介绍吧. 零 ...

  6. 零基础全方位学习java的方法

    java技术岗是一个就业率非常高的岗位,因此有很多人都想要学习java技术,其中不乏一些零基础同学,零基础小白都不清楚自己该如何学习java,那么下面小编就为大家详细的介绍一下零基础全方位学习java ...

  7. 零基础快速学习Java技术的方法整理

    在学习java技术这条道路上,有很多都是零基础学员,他们对于java的学习有着很多的不解,不知怎么学习也不知道如何下手,其实Java编程涉及到的知识点还是非常多的,我们需要制定java学习路线图这样才 ...

  8. 零基础如何学习软件测试

    很多人想学软件测试是因为软件测试是进入到IT行业里比较快的一门技术,软件测试的门槛比较低,初学者和零基础小白学起来都是比较容易的,下面小编就详细的给大家介绍一下具体零基础如何学习软件测试? 零基础如何 ...

  9. 零基础怎么学习UI设计?有哪些简单的学习方法?

    UI设计近几年的就业前景是非常好的,所以很多人都想要学习UI设计,那么零基础怎么学习UI设计?有哪些简单的学习方法?下面小编就给大家做下详细的介绍. 零基础怎么学习UI设计?有哪些简单的学习方法? U ...

最新文章

  1. java 后台查询卡_java后台
  2. 光流 | 基于Matlab实现Lucas-Kanade方法:方法2(附源代码)
  3. 猴年如何抢红包?错过这秘籍可能错过几个亿!
  4. 为啥饮料瓶大都是圆的,牛奶盒却是方的?
  5. VBSCRIPT的循环挺好理解的
  6. vue v2.5.0源码-初始化流程
  7. 数据结构与算法笔记(四) 循环链表和双向链表
  8. python找不到os模块_Python中的OS模块:您需要知道的一切
  9. 安徽大学江淮学院计算机作业,安徽大学江淮学院
  10. SOEM Ethercat在TI DSP RTOS上的移植
  11. DOS窗口的一些简单介绍
  12. 编程珠玑java_编程珠玑第八章
  13. HTML5 实例:旋转同时放大缩小的方块(canvas)
  14. 互联网公司客户如何选择短信平台或短信通道需要知道的基本知识
  15. 2021年个人工作总结
  16. 第3章第32节:图形的应用:使用图形表达并列关系的内容 [PowerPoint精美幻灯片实战教程]
  17. 计算捐款总量 (10 分)
  18. 初级项目管理培训心得
  19. 分布式mysql proxy 360_mysql-proxy之奇虎360 Atlas 安装实现mysql读写分离
  20. 5G NR帧结构与物理资源

热门文章

  1. 【读书笔记】雄性衰落
  2. 专业修图工具:Affinity Photo for mac
  3. 支付宝吱口令自动复制脚本,自动复制 JavaScript 代码介绍
  4. 竞品分析报告-网易蜗牛读书
  5. RAR压缩包,去除密码?
  6. 阿里云的这群疯子--深度好文请仔细看完
  7. 让英文和数字随机生成java_Java生成随机字母和数字
  8. jdk8 中英文版文档
  9. Kettle报错:Driver class org.gjt.mm.mysql.Driver could not be found
  10. PHP——后端跨平台脚本语言