在上期文章“Airtest跨平台的UI自动化测试框架(一)”中简单的介绍了Airtest的一些用法和注意事项,今天小编介绍一下如何将Airtest测试框架扩展到airtest + python + unitest 不太好用,关键是可参考的资料有限,扩展性也不如Unitest库好。 其次,在使用Unitest库时,建议大家使用BeautifulReport,不建议大家用HTMLTestRunner,因为HTMLTestRunner多数情况下需要修改内部代码,不太适用。 第一步,导入unitest以及相关库,如下图: ? 后续文章 “Airtest跨平台的UI自动化测试之Unitest丰富报告”正在整理中,敬请期待……
包括运行了多少测试用例, 成功了多少,失败了多少等信息; test fixture:一个测试用例的初始化准备及环境还原,主要是setUp() 和 setDown()方法; 二 unitest 3.2 unitest编写测试用例 使用unittest对myfunc进行单元测试,首先需要导入unitest框架和待测模块myfunc,定义的测试用例方法类 需要继承unittest.TestCase 从上面的设计的测试用例执行结果及对自动化测试的要求,需要考虑以下4个问题,及给出unitest框架中 的解决方法。
构建测试系统中可能出现的问题及方案 1.UI测试时间长,稳定性差,与页面设计耦合严重 罗列已有的功能,可能会改的,重点进行API测试,尽量减少UI测试 页面设计使用唯一性id 2.前期项目构建,unitest 代码出现bug, 必须补充unitest。 3.后端代码未面向接口编程,不利于打桩(如:函数内部数据直接从数据库查询获取,测试函数功能时,无法模拟数据库数据,强烈依赖数据库) 重构,并在之前补充测试用例 结论 测试流程:unitest-intergration-system 1.unitest: 数量:50%。
------------------------------------- Traceback (most recent call last): File "E:/mystuff/unitest ------------------------------------- Traceback (most recent call last): File "E:/mystuff/unitest ------------------------------------- Traceback (most recent call last): File "E:/mystuff/unitest
几个概念 在开始使用UnitTest执行单元测试之前我们先了解几个概念: test case:测试用例,可以通过创建unitest.TestCase类的子类创建一个测试用例。 UnitTest处理流程 在对于几个基本的概念有所了解之后,我们一起来看看UnitTest处理流程是如何进行的: 使用unitest.TestCase类的子类创建一个测试用例类,其中可以包含多个测试用例
二、unitest的工作原理 通过unittest类调用分析,可将框架的工作流程概况如下: 编写TestCase,由TestLoader加载TestCase到TestSuite,然后由TextTestRunner
对应的运行环境需要选择正确,不然出现在pip安装的模块都无法正常使用 按照以下步骤进行设置pytest运行环境 设置完后创建一个以test开头的新py文件,代码区右键可以看到Run已经是pytest 注:unitest
方法获得的列表进行比较;如查 verificationErrors 的列表 不为空,输出列表中的报错信息 if __name__ == "__main__": unittest.main() unitest.main
unittest编写与规范 Unittest提供了test cases, test suites, test fixtures,test runner相关的组件 编写规范 测试模块首先import unitest 测试类必须继承unitest.TestCase 测试方法必须以”test_”开头 模块名字。 如果想要在所有case执行之前准备一次环境,并在所有case执行结束之后清理环境,我们可以用setUpClass()和tearDownClass(); 如果想有些方法不在本次执行使用 @unitest.skip
谷歌浏览器地址栏直接输入https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc ) (三)使用unitest
---- class_01 # @Email:zhaoy201810@126.com # @Time: 2020/12/4 15:44 # @file: class_01.py # 单元测试的框架 unitest
下面我们就如何把unitest应用到python selenium2自动化测试中进行分享。 测试用例 单元测试是由一系列的测试用例(Test Cases)构成。测试用例是被设置用来检测独立场景的集合。
断言方法 在 unitest.TestCase 类中提供了很多断言方法,上一小节就采用了 assertEqual 这一个判断给定两个参数是否相等的断言方法,下面给出常用的 6 个断言方法: 方法 用途 blob/master/Practise/unittest_practise.py https://github.com/ccc013/Python_Notes/blob/master/Practise/unitest_class_example.py
例如像unitest的testrunner那样。(回答下这个?)
我们实际工作中要根据需要来选择关闭到何种程度,在pytest或者unitest中,也要把这几个关闭放在恰当的位置来让多个用例进行正常执行。
(rabbit 告诉我的) if __name__ == "__main__": unittest.main() unitest.main()函数用来测试 类中以test开头的测试用例 执行结果 这样一一分析下来
执行代码 执行代码指的是执行UI Test测试代码,小编使用的是Python + Unitest + Selenium,这里通过hook方式获取代码覆盖率相关的数据,代码如下: from selenium
cls) 必须和@classmethod 同时使用,限定在整个测试类开始之前执行一次 , setUp() / tearDown() 每个用例开始前 / 结束后执行一次, 这个单元测试框架里的,不管你是unitest
单元测试的基本写法: 首先,定义一个类,继承自unittest.TestCase import unittest class TestClass(unitest.TestCase): pass
unitest 不支持按照标签运行,但是它提供了testsuite概念,你可以把一个测试类的几个测试用例添加到testsuite里。这样unitest就实现了框架的第一要素,测试用例集的查找。