前言和思路
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
就打开了测试报告,是一个布局设计挺好的测试报告。
原文链接:https://blog.csdn.net/u011072037/article/details/108735734