ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【day1】Pytest:测试用例、配置文件、标记Mark

【day1】Pytest:测试用例、配置文件、标记Mark 一、pytest测试框架1.测试框架python unittest、pytestjavaJunit、testng测试框架可以和selenium、requests、appium进行集成方便实现Web自动化、API自动化、App自动化的落地。2.pytest常见插件pytest框架本身pytest-html: 生成html测试报告pytest-xdist分布式执行pytest-ordering自定义用例执行顺序pytest-rerunfailures失败重跑pytest-base_url管理Base_urlallure-pytest: 生成allure的测试报告单独安装pip install XXX批量安装保存到文件requirements.txtpip install -r requirements.txt验证安装pip show XXX3.pytest 框架功能​ 1.发现测试用例从多个py文件收集、加载测试用例​ a.遍历所有目录venv除外​ b.遍历所有的py文件 test_ 开头、 _test 结尾​ c.收集: test_ 开头的函数重点这个才是用例​ 2.执行测试用例按照一定的顺序和条件进行执行​ 3.判断测试结果断言判断预期结果和实际结果是否一致​ 4.生成测试报告用例数量、花费时间、失败原有、测试通过率二、pytest 创建和执行用例1.创建测试用例# test_beifan.pydeftest_beifan():assert12# baili_test.pydeftest_baili():assert112.执行测试用例实际上是启动框架、框架自动的发现和执行用例方式一pytest方式二主函数# run.pyimportpytest pytest.main()3.看懂执行结果test session starts## 执行环境platform win32--Python3.13.14,pytest-9.1.1,pluggy-1.6.0rootdir:C:\Users\wyl\Desktop\project\api_framwor_2509 plugins:allure-pytest-2.16.1,base-url-2.1.0,html-4.2.0,metadata-3.1.1,ordering-0.6,rerunfailures-16.7,xdist-3.8.0## 用例收集情况collected2items## 用例执行情况baili_test.py.[50%]test_beifan.py F[100%]## 结果种类.:通过pass F:失败(failed)s:跳过skip x:预期外的通过(xpassed)X:预期内的失败(xfailed)FAILURES## 失败原因______________________________________________ test_beifan_______________________________________________deftest_beifan():assert12Eassert12test_beifan.py:2:AssertionError## 总结信息short test summary infoFAILED test_beifan.py::test_beifan-assert121failed,1passedin0.13s三、pytest 常用参数和配置文件1.命令行参数pytest-h-h:显示帮助信息和参数、配置信息-v增加结果的详细程度-q减少结果的详细程度-s关闭IO捕获input和print可以正常执行-m根据标签筛选用例-k根据用例筛名筛选用例-n使用多进程分布式执行–reruns失败重跑的次数–html生成html 报告2.配置文件pytest.ini根目录中创建配置文件pytest.ini配置文件中创建选择器pytest按行写入配置内容四、pytest标记mark1.用户的标记先注册、后使用要在配置文件中注册在命令行参数中使用pytest.mark.smokedeftest_a():passpytest.mark.webdeftest_b():pass2.插件的标记用order标记来控制用例 顺序数字越小越靠前pytest.mark.smokepytest.mark.order(2)deftest_a():passpytest.mark.webpytest.mark.order(1)deftest_b():pass3.框架标记pytest自带的标记、拥有不同的效果skip无条件跳过skipif有条件跳过xfail预期失败parametrize参数化测试数据驱动测试pytest.mark.skipif(True,reason为True跳过)deftest_c():passpytest.mark.xfail# 预期失败通过Xpassdeftest_d():assert11pytest.mark.xfaildeftest_e():assert12
返回列表