随着互联网的发展,自动化测试所面临的挑战也随之越来越大。当项目要频繁做回归测试时,手动测试方式已经无法应对,自动化测试成为解决问题的关键。
Python凭借其灵活性,在自动化测试方面已经被广泛使用,能够大大提高测试效率。那么,软件测试自动化到底需要学习哪些知识呢?
众所周知,Python有非常丰富的第三方库,这也是Python代码简单优雅的原因之一,那么,软件自动化测试常用的库有哪些?
1.基本库:
sys 程序和Python解析器的交互
os 启动新进程;操作文件和目录
re 正则表达式,字符串匹配
string 基本字符串操作
inspect 提供自省和反射功能
importlib 支持动态导入
bitstring二进制数据处理
zipfile 压缩解压文件
tarfile 压缩解压文件
random 随机数,概率
optparse 处理命令行选项
glob 文件路径查找
yaml 访问yaml数据文件
ConfigParser 读取配置文件
xml XML库
pickle 序列化
json 序列化
libxml2 XML解析器
urlparse URL解析
urllib 访问URL资源
urllib2 访问URL资源
cookielib http客户端的cookie处理
requests 神器,用于发送网络请求,常用于接口测试
httplib http请求客户端
BeautifulSoup 从HTML或XML文件中提取数据的Python库
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就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…