本文主要是介绍Airtest实战(六):结合unittest测试框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
传送门
本系列原创博客的传送门:
Airtest实战(一):部署iOS-Tagent和设置代理
Airtest实战(二):Mac安装Airtest
Airtest实战(三):编写第一个iOS设备脚本
Airtest实战(四):Windows搭建开发环境
Airtest实战(五):安卓测试脚本示例
Airtest实战(六):结合unittest测试框架
前言和思路
Airtest提供了好几个assert断言方法,但是断言方法必然会带来程序中断。有人可能会觉得中断了问题不大,少量的测试代码问题确实不大,及时中断,及时发现问题。但若是很多的测试用例,那中断反而会导致测试时间大大延长。这样就必须选用一个测试框架来组织执行测试用例。
在有些资料里,建议我们捕捉异常,就是try--catch的方式,但这个未免有些麻烦。
原本考虑了pytest+allure,发现allure在airtest里是没有必要的,因为airtest运行后会自动产生一份格式优美的测试报告。
而pytest,需要在自己的python环境里安装,当前尚未准备好pytest环境,就不方便。
查找了相关资料,发现Airtest通过继承unittest实现了AirtestCase,这个给与了我们启示,可以使用unittest来结合Airtest来进行测试工作。
简单的往往是最好的。
那为何不用AirtestCase呢,因为查看资料,理解发现需要使用命令行运行,不是使用命令行使Airtest运行,而是通过自身python环境来运行,那就和pytest情况一样了。
所以结论是使用unittest。
具体示例
首先引入依赖:
import unittest
然后创建一个类,继承unittest.TestCase,实现它的启动函数和结束函数。
class TestGjj(unittest.TestCase):def setUp(self):print("start cases")super(TestGjj, self).setUp()def tearDown(self):print("finish cases")super(TestGjj, self).tearDown()
将配置相关的代码,放到这个类之前。
新建一个测试函数,比如命名为 test001,将之前的测试代码剪切复制,归属于这个函数。
最后,在代码的最后一行添加下面四行代码:
suite = unittest.TestSuite()
suite.addTest(TestGjj("test001"))runner = unittest.TextTestRunner()
runner.run(suite)
连接手机,先打开,允许本次的调试权限,然后在cmd里输入 adb devices ,发现成功连接。
点击运行按钮,发现测试用例顺利运行。
查看测试报告
Ctrl+l
就打开了测试报告,是一个布局设计挺好的测试报告。
这篇关于Airtest实战(六):结合unittest测试框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!