网站icp备案网址,社交网站图片展示,ps做的网站首页,抖音关注10元一单兼职一、单元测试框架
#xff08;1#xff09;什么是单元测试框架#xff1f; 单元测试是指在软件开发中#xff0c;针对软件的最小单元#xff08;函数、方法#xff09;进行正确性的检查测试 #xff08;2#xff09;单元测试框架 java#xff1a;junit和testng pytho…一、单元测试框架
1什么是单元测试框架 单元测试是指在软件开发中针对软件的最小单元函数、方法进行正确性的检查测试 2单元测试框架 javajunit和testng pythonunittest和pytest 1、测试发现从多个py文件里找到测试用例 2、测试执行按照一定的顺序和规则去执行并生成结果 3、测试判断通过断言判断预期结果和实际结果的差异 4、测试报告统计测试进度耗时通过率生成测试报告
二、单元测试框架和自动化测试框架有什么关系
1什么是自动化测试框架 是自动化测试组长针对一个项目开发的一个代码框架这个框架封装了很多基础模块报告等。 2作用 1、提高测试效率降低自动化用例的维护成本 2、减少人工干预提高测试的准确性增加代码的重用性
三、pytest简介
1、是一个非常成熟的单元框架比unittest更灵活 2、pytest可以和selenium、requests、appium结合实现web自动化、接口自动化、app自动化 3、pytest可以实现用例的跳过以及reruns失败用例重试 4、pytest可以和allure生成美观的测试报告 5、pytest可以和Jenkins持续集成 6、pytest有很多非常强大的插件并且这些插件能够实现很多实用操作。 ● pytest ● pytest-html 生成html格式的自动化测试报告 ● pytest-xdist 测试用例多进程分布式执行多CPU分发不支持多线程-n ● pytest-ordering 用于改变测试用例的执行顺序 ● pytest-rerunfailures 用例失败后重跑 ● allure-pytest 用于生成美观的测试报告 ● pytest-parallel 支持多进程、多线程执行测试用例。 –workers (optional) *多进程运行需要加此参数 *是进程数。默认为1。 –tests-per-worker (optional) *多线程运行 *是每个worker运行的最大并发线程数。默认为1 pytest test.py --workers 2 --tests-per-worker 42个进程并行且每个进程最多4个线程运行。 即总共最多8个线程运行。 【特别注意】 a. pytest-parallel的workers参数在windows系统下永远是1在linux和mac下可以取不同值。 b. pytest-parallel加了多线程处理后最后执行时间是运行时间最长的线程的时间。 c. 在windows下想用多进程的选pytst-xdist 想用多线程的选pytest-parallel 放到requirements.txt中通过pip install -r requirements.txt
四、使用Pytest的默认规则
1、模块名必须以test_开头 或者 _test结尾 2、测试类必须以Test开头并且不能有init方法 3、测试方法必须以test开头
五、Pytest测试用例的运行方式
1、主函数模式 运行所有pytest.main() 指定模块pytest.main([‘-vs’,‘test_login.py’]) 指定目录pytes.main([‘-vs’,‘./interface_testcase’]]) 通过nodeid指定用例运行nodeid由模块名、分隔符、类名、方法名、函数名组成 pytest.main([‘-vs’,‘./test_Demo.py::TestClass::test_two’]) pytest.main([‘-vs’,‘./test_Demo.py::test_answer’]) 2、命令模式 运行所有pytest 指定模块pytest -vs test_login.py 指定目录pytest -vs ./interface_testcase/test_interface.py::test_04 【参数详解】 -s 表示输出调试信息包括print打印的信息 -v 显示更详细的信息 -vs 这2个参数一起用 -n 支持多进程或者分布式运行测试用例 eg.pytest -vs ./testcase/test_login.py -n 2 –reruns num 失败用例重跑次数 -x 表示只要有一个用例报错测试停止 -k 根据测试用例的部分字符串指定测试用例 eg.pytest -vs -k new –workers num 多进程个数 windows下默认为1 –tests-per-worker 多线程个数
3、 通过读取pytest.ini全局配置文件运行 pytest.ini这个文件是pytest单元测试框架中的核心配置文件 位置放在项目的根目录下 编码必须是ANSI可以使用notpad修改编码格式 作用改变pytest默认的行为规则 运行的规则主函数模式/命令行模式运行都会读取这个配置文件
六、Pytest测试用例执行顺序
unittest:按照ascii的大小执行顺序 pytest默认从上到下执行 需要改变默认的执行顺序使用mark标记 pytest.mark.run(order3) 需要导入pytest_ordering
七、如何分组测试分模块执行分接口和web执行 smoke冒烟用例分布在各个模块里面 pytest -m smoke pytest -m ‘smoke or usermanage’
八、pytest跳过测试用例
无条件跳过 pytest.mark.skip(reason‘跳过不是类的测试用例’)
有条件跳过 answer ‘wrong’ pytest.mark.skipif(answer ‘wrong’,reason‘触及变量answer为wrong’)