众做周知,自动测试的优势是显而易见的,它可以大大节省我们的时间,提高我们的工作效率。那么Python如何做自动化测试呢?本文将用Python编写一个简单的测试用例,并指导大家写做自动化测试的代码。如果大家对这个内容感兴趣,就赶紧来一起学习吧!

1、为什么需要自动化测试?

相信大家都遇到过这样的问题,你需要一遍一遍地在你的软件中输入命令,来测试软件的功能是否正常,这个过程是很枯燥无味的。如果能写一小段代码用来测试你的代码该有多好啊!因此我们就不得不需要用到自动化测试。试想一下,无论你对程序做了什么修改,或者添加了什么新东西,你只要“跑一下你的自动化测试”,而这些测试能确认程序依然能正确运行。这些自动测试不会抓到所有的 bug,但可以让你无需重复输入命令运行你的代码,从而为你节约很多时间。

2、用Python编写测试用例

下面以一段非常简单的代码为例,用Python写一个简单的测试,这个测试将建立在一个项目骨架上面。首先从你的项目骨架创建一个叫做 ex47 的项目。下面是你要采取的步骤:

第一步:复制 skeleton 到 ex47

第二步:将所有的 NAME 重命名为 ex47

第三步:修改所有文件中 NAME 为 ex47

第四步:最后删除所有的 *.pyc 文件

接下来创建一个简单的 ex47/game.py 文件,里边放一些用来被测试的代码。我们现在放一个小class进去,用来作为我们的测试对象:

准备好了这个文件,接下来把测试骨架改成这样子:

这个文件导入了你在 ex47.game 创建的 Room 这个类,接下来我们要做的就是测试它。于是我们看到一系列的以 test_ 开头的测试函数,它们就是所谓的“测试用例(test case)”,每一个测试用例里面都有一小段代码,它们会创建一个或者一些房间,然后去确认房间的功能和你期望的是否一样。它测试了基本的房间功能,然后测试了路径,最后测试了整个地图。

这里最重要的函数是 assert_equal ,它保证了你设置的变量,以及你在 Room 里设置的路径和你的期望相符。如果你得到错误的结果的话, nosetests 将会打印出一个错误信息,这样你就可以找到出错的地方并且修正过来。

3、测试指导

在写测试代码时,你可以照着下面这些不是很严格的指导来做:

(1)测试脚本要放到 tests/ 目录下,并且命名为 BLAH_tests.py ,否则 nosetests 就不会执行你的测试脚本了。这样做还有一个好处就是防止测试代码和别的代码互相混掉。

(2)为你的每一个模组写一个测试。

(3)测试用例(函数)保持简短,但如果看上去不怎么整洁也没关系,测试用例一般都有点乱。

(4)就算测试用例有些乱,也要试着让他们保持整洁,把里边重复的代码删掉。创建一些辅助函数来避免重复的代码。当你下次在改完代码需要改测试的时候,你会感谢我这一条建议的。重复的代码会让修改测试变得很难操作。

(5)最后一条是别太把测试当做一回事。有时候,更好的方法是把代码和测试全部删掉,然后重新设计代码。

4、显示结果

$ nosetests

...

----------------------------------------------------------------------

Ran 3 tests in 0.008s

OK

如果一切工作正常的话,你看到的结果应该就是这样。试着把代码改错几个地方,然后看错误信息会是什么,再把代码改正确。

以上就是Python做自动化测试的全部指导,大家都学会了吗?

Python经验分享

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

Python学习路线

这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。

学习软件

Python常用的开发软件,会给大家节省很多时间。

学习视频

编程学习一定要多多看视频,书籍和视频结合起来学习才能事半功倍。

100道练习题

实战案例

光学理论是没用的,学习编程切忌纸上谈兵,一定要动手实操,将自己学到的知识运用到实际当中。

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

Python如何做自动化测试?相关推荐

  1. 在软件测试领域,Java和Python哪个更适合做自动化测试?

    功能测试人员提升技能的方向就是自动化测试,要学自动化测试就要进阶编程语言,常用的编程语言有两种,Python和Java,掌握哪门编程语言更容易做自动化测试呢? 什么是自动化测试? 简单来说,自动化测试 ...

  2. python怎么做自动化测试仪器经销商_Python自动化测试踩坑记录(企业中如何实施自动化测试)...

    企业中如何实施自动化测试 在我们读高中的时候, 是不是经常听老师说:学好数理化,走遍天下都不怕. 作为软件测试这个行业,在当下,你学好自动化,你去哪面试都不怕. 说是这么说,但是你想提前下班,自动化测 ...

  3. python能做软件吗-python能够做软件的自动化测试吗?

    能啊,太能了. 话说,有多少测试小白抱着不用写代码的想法进入了测试行业,到头来发现还是要学习语言. 首先我要说的是,如果你要是刚刚开始接触自动话测试,建议你可以先从Python入手. Python 在 ...

  4. 软件测试用python一般用来做什么-python能够做软件的自动化测试吗?

    能啊,太能了. 话说,有多少测试小白抱着不用写代码的想法进入了测试行业,到头来发现还是要学习语言. 首先我要说的是,如果你要是刚刚开始接触自动话测试,建议你可以先从Python入手. Python 在 ...

  5. python自动化测试-python能够做软件的自动化测试吗?

    能啊,太能了. 话说,有多少测试小白抱着不用写代码的想法进入了测试行业,到头来发现还是要学习语言. 首先我要说的是,如果你要是刚刚开始接触自动话测试,建议你可以先从Python入手. Python 在 ...

  6. 怎么用python做自动化测试?

    首先你得会python编程语言,需要花一两周时间学习一下python编程基础,python编程基础一般包含那些内容呢? Python的简介以及python的安装以及环境的搭建. Python编码规范. ...

  7. python+requests接口自动化测试框架实例详解教程(米兔888)【适合半年或一年以上天天做自动化经验的大神下载使用】

    来源:https://my.oschina.net/u/3041656/blog/820023 源码地址,需要的回复评论留下邮箱 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测 ...

  8. 如何用 Python 做自动化测试

    本文来自作者 Vant 在 GitChat 上分享 「如何用 Python 做自动化测试」 编辑 | 哈比 一.Selenium 环境部署 1. window 环境部署 1.1 当前环境 Win10 ...

  9. 用python做自动化测试仪器_使用python进行windows自动化测试(1)

    最近开始学习整理python在windows自动化测试中的使用,觉得挺有意思的 主要思路,在windows下,主要通过启进程,然后查找进程的句柄,然后再操作这个句柄,包括点击,填写文字,关闭,获取文字 ...

最新文章

  1. Cissp-【第3章 安全工程】-2021-1-31(205页-237页)
  2. java系统的标准输出对象_到了宋代,虽然司法证明已经发展到以物证为主,用刑讯方式逼问当事人口供在官府断案过程中却一直长期存在。...
  3. Oracle 原理: 公有同义词 和 私有同义词
  4. P5666-[CSP-S2019]树的重心【树状数组】
  5. java 03_Java基础03—流程控制
  6. linux创建a1的硬链接a2,Linux命令-重定向和软硬链接
  7. 【PHP内核剖析】一、PHP基本架构
  8. Cisco ASA Web ××× 配置详解
  9. 华三的stp根桥、端口角色选举规则
  10. 使用批处理build vs2005的工程
  11. vim全文替换字符串
  12. net.reflector8.5.0.179过了试用期,要求输入序列号怎么办 注册机 破解
  13. XRouter 一个轻量级的Android路由框架,基于ARouter上进行改良,优化Fragment的使用,可结合XPage使用
  14. 淘宝api,custom - 淘宝官方订单API操作
  15. 索引的使用以及常见索引类型,组合索引的具体使用方法。
  16. RVM切换ruby版本
  17. 总离差平方和公式_excel公式怎么用:用EXCEL求离差平方和 和 相关系数
  18. HTML+CSS 登录界面设计
  19. iOS runtime再学习
  20. Ubuntu18.04使用RPLIDAR A2M12雷达出错的解决办法

热门文章

  1. 经典卷积神经网络(CNN)图像分类算法详解
  2. JS使用技巧-如何解决谷歌浏览器下载图片、PDF文档时只打开不下载的问题?
  3. 误删除了linux的raid1,RAID管理与恢复误删除文件
  4. 手写数字识别系统学习(1)
  5. Axure RP 8.1 下载(附汉化+注册码)
  6. 关于STM32的BSRR(端口位设置/清除寄存器) 和 BRR(端口位清除寄存器) 的理解(初学32)
  7. 几个高斯分布/积分的基本结论和计算
  8. ESD保护二极管,一种有效的ESD静电保护器件
  9. DOM中的node(节点)有关的三个属性--nodeType、nodeName、nodeValue
  10. 如何确定企业是否需要推行CMMI?