随着互联网的发展,自动化测试所面临的挑战也随之越来越大。当项目要频繁做回归测试时,手动测试方式已经无法应对,自动化测试成为解决问题的关键。

Python凭借其灵活性,在自动化测试方面已经被广泛使用,能够大大提高测试效率。那么,软件测试自动化到底需要学习哪些知识呢?

阶段一:掌握Python的基础语法

阶段二:掌握Python自动化测试常用库

众所周知,Python有非常丰富的第三方库,这也是Python代码简单优雅的原因之一,那么,软件自动化测试常用的库有哪些?


1.基本库:

sys 程序和Python解析器的交互

os 启动新进程;操作文件和目录

re 正则表达式,字符串匹配

string 基本字符串操作

inspect 提供自省和反射功能

importlib 支持动态导入

bitstring二进制数据处理

zipfile 压缩解压文件

tarfile 压缩解压文件

random 随机数,概率

  1. 命令行,读取配置:

optparse 处理命令行选项

glob 文件路径查找

yaml 访问yaml数据文件

ConfigParser 读取配置文件

xml XML库

pickle 序列化

json 序列化

  1. 网络请求相关:

libxml2 XML解析器

urlparse URL解析

urllib 访问URL资源

urllib2 访问URL资源

cookielib http客户端的cookie处理

requests 神器,用于发送网络请求,常用于接口测试

httplib http请求客户端

BeautifulSoup 从HTML或XML文件中提取数据的Python库

  1. 大数据和数据库相关:

avro avro是一个数据序列化系统

etcd etcd访问库

pyspark spark库

hdfs hdfs库

pyhive hive库

redis 访问redis数据库

rediscluster 访问redis集群

pymongo 访问mongodb

kafka 访问kafka

pykafka 访问kafka

sqlalchemy ORM库

MySQLdb 访问MySQL数据库

阶段三:自动化测试常用框架


unittest:比较基础,二次开发方便,适合高手使用,是python自带的单元测试框架,可以用来作为我们自动化测试框架的用例组织执行框架unittest流程:写好TestCase,然后由TestLoader加载TestCase到TestSuite,然后由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中,我们通过命令行或者unittest.main()执行时,main会调用TextTestRunner中的run来执行,或者我们可以直接通过TextTestRunner来执行用例。

pytest/nose:更加方便快捷,效率更高,适合小白及追求效率的公司,且pytest的信息更加详细如果你的项目比较小、复杂度比较低,Pytest 是最适合的自动化测试平台。非常多的 Python开发者都喜欢它,他们大部分用它来进行单元测试。它也具有 Robot Framework 所闻名的验收测试能力。

Pytest最好的特性之一是,它提供了测试用例的详细失败信息,使得开发者可以快速准确地改正问题。它兼容最新版本的 Python,还兼容unittest、doctest 和 nose,开箱即用。它还有包含更多功能的插件和多样化的现有测试技术和测试用例。事实上,有 300多个可用插件来自它的活跃社区。

该平台设计用于编写更简单错误率更小的代码。你可以将 Pytest 与诸如 Selenium 和Splinter 之类的图形用户界面一起使用,来使得测试工作更轻松。

RobotFramework:由于有界面及美观的报告,易用性更好,灵活性及可定制性略差 Robot Framework 是最流行的Python 自动化测试框架。

它是完全用 Python 开发的,对于验收测试非常有用。这个框架可以运行在 Java 和.NET环境。它还支持跨平台,例如 Windows、MacOS 和Linux。

这个产品是由世界上一些著名的测试人员创建的,拥有关键词驱动方案。它有如此多可用的工具和库,使得这个框架非常先进和健壮。它是一个开源框架,并且留有API扩展空间。表格式的测试数据语法和关键词驱动测试使得它在全球的测试人员中非常流行。它无疑是最易用的自动化测试框架,并且允许你进行并行测试。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

如何学好Python自动化,每个进阶的测试人都应该看看相关推荐

  1. 95后,月薪4K到2W+!纯小白到python自动化工程师,下定决心的事情肯定能做成

    我95后,工作一年后薪资4K,除去房租生活费所剩无几,天天琢磨着如何才能有更多钱,学人家去某宝开店,学人家摆过地摊,最后都不了了之.自己本身的工作就是偏行政,处理公司电脑故障问题,干下考勤工作,有事出 ...

  2. 学习Python全套代码【超详细】Python入门、核心语法、数据结构、Python进阶【致那个想学好Python的你】

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 文末附上详细的 ...

  3. Python自动化办公:openpyxl教程(进阶)

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前给大家分享了openpyxl的基础教程:Python自动化办公:openpyxl教程(基础).不知道大家学习的怎么样了. ...

  4. 想学python编程-【经验分享】新手如何快速学好Python?

    原标题:[经验分享]新手如何快速学好Python? 什么样的人适合学习编程?到底Python作为编程入门语言合适吗?学习Python编程,我们应该如何学?大概的学习内容包括哪些? 今天我们就用一篇文章 ...

  5. 怎样学好python-零基础如何学好Python?

    零基础如何学好Python?其实零基础学好python很简单,python进阶需要花费写气力,都说Python简单易学,那么零基础如何学好Python?有哪些必须学的知识?学习的策略技巧有哪些?看传智 ...

  6. 零基础如何学好Python?Python有哪些必须学的知识?

    跟几个IT界的大佬提起Python,他们说零基础学好Python很简单,Python进阶需要花费些气力.那么零基础如何学好Python?Python有哪些必须学的知识?学习的策略技巧有哪些?今天小千整 ...

  7. 零基础如何学好Python?这2点一定要明白

    Python诞生之初就被誉为最容易上手的编程语言.进入火热的AI人工智能时代后,它也逐渐取代Java,成为编程界的头牌语言.编程圈金句也从"人生苦短,我学Python"转变成了&q ...

  8. 学python之前需要学什么,学好python需要什么基础

    学习python的话大概要学习哪些内容? 想要学习Python,需要掌握的内容还是比较多的,对于自学的同学来说会有一些难度,不推荐自学能力差的人. 我们将学习的过程划分为4个阶段,每个阶段学习对应的内 ...

  9. Python自动化软件测试,解放我们的双手

    一.首先我们要了解我门做软件测试的原因,为什么要做软件测试 1.软件产品的监视和测量 对软件产品的特性进行监视和测量,主要依据软件需求规格说明书,验证产品是否满足要求.所开发的软件产品是否可以交付,要 ...

最新文章

  1. 一个QQ旋风的BUG
  2. python 立体图像_OpenCV-Python 立体图像的深度图 | 五十二
  3. Matlab | MATLAB实现图像的水印去除
  4. js实现浏览器后退页面刷新
  5. 【JAVA编码专题】深入分析 Java 中的中文编码问题
  6. linux mysql 停止,linux 里 重启 和停止 mysql的原理
  7. Leetcode--105. 从前序与中序遍历序列构造二叉树(Java)
  8. java多线程的api_java多线程之:线程对象一些api
  9. 计算机简历如何写,简历计算机能力怎么写
  10. Ubuntu20.04安装ROS教程(虚拟机/双系统,含报错解决)
  11. 二十五.决策树之CART决策树的原理和sklearn实现
  12. 最系统的网站优化推广大全
  13. 简单的猜数字小游戏(1 ~ 100)
  14. RSRP RSRQ RSSI SNR的定义
  15. C语言基础——执行顺序
  16. GITC2016花落上海,五大亮点抢先看
  17. String类的用法
  18. 我用Excel制作了一枚“电子印章”,太牛逼了!
  19. java就是我的幸福,我的幸福我的人生
  20. 几分钟上线一个网站,这些神器我爱了

热门文章

  1. java 接口可以被继承_接口能被继承吗?
  2. sqlserver垮库查询_sql跨库查询(sqlserver跨库查询)
  3. java 中 class 对象_java中Class对象详解
  4. Python+OpenCV:直方图均衡化(Histogram Equalization)
  5. Qt输入输出之QProcess
  6. 利用WinSock进行有连接的通信
  7. 机器视觉:锡膏印刷质量3D检测光学系统
  8. 预编译头文件(precompiled header)说明
  9. linux下查看系统硬件,Linux 查看系统硬件信息 Linux 查看系统硬件信息(实例详解)...
  10. 解析全球热点安全事件背后的玄机