本文共 1381 字,大约阅读时间需要 4 分钟。
今天我们要分享的内容是关于Pytest框架,这个框架在自动化测试领域非常流行。很多学习自动化测试的伙伴可能会问,我们在学习过程中需要掌握哪些知识和工具。首先,当然是要掌握一门编程语言,比如Python或Java,至少掌握一个就可以了。
其次,我们需要了解一些成熟的自动化框架。对于WebUI自动化,常用的框架有Selenium和RF;对于App自动化则有Appium和uiautomator2;对于接口自动化则有requests和httprunner。这些都是工具和框架的结合,RF其实也是一个开源框架。
接下来,我们要学习如何搭建一个完整的测试框架。很多人可能会问,Unittest和Pytest有什么区别?其实,Unittest和Pytest都属于单元测试框架,但它们的使用场景和优势各有不同。
单元测试框架主要有两个使用场景:一是用来进行单元测试,针对代码的最小单元(如函数或类)进行测试;二是用来管理自动化用例,结合像Selenium、Appium这样的框架来实现自动化测试。
Pytest是一个非常强大的Python单元测试框架,比Unittest更灵活和功能强大。它支持Web自动化、接口自动化和App自动化,并且可以实现测试用例的跳过和重试功能。Pytest还能生成美观的测试报告,并且可以与Jenkins集成。此外,Pytest有很多强大的插件,可以扩展功能。
Pytest插件有很多,比如pytest-xdist用于分布式执行,pytest-ordering用于改变测试顺序,pytest-rerunfailures用于重试失败的用例,pytest-html和allure-pytest用于生成测试报告。
Pytest对测试文件的命名和结构也有特定的要求:测试文件必须以test_开头或以_test结尾,测试类必须以Test开头且不能有init方法,测试方法必须以test开头。
Pytest的配置文件是pytest.ini,通常放在项目根目录下,必须使用ANSI编码。配置文件可以修改默认的执行方式和运行规则。Pytest支持很多参数,如-s、-v、-vs、-n、--reruns、--maxfail和--html等,用于调试、输出详细信息、多线程执行、重试用例、限制失败数量和生成测试报告。
Allure是一个生成美观测试报告的工具。部署Allure需要解压即可,配置环境变量--path--allure安装目录/bin。验证Allure安装可以通过命令行或Pycharm终端运行。生成Allure报告需要调用pytest.main(['--alluredir','./temp']),然后使用os.system('allure generate ./temp -o ./report --clean')将临时报告转换为Allure格式。
Pytest支持冒烟测试,通过在pytest.ini中添加markers = smoke,并在用例上使用@pytest.mark.smoke标记来指定冒烟测试用例。命令行执行时加上-m smoke参数即可。
通过以上内容,我们可以清晰地看到Pytest框架的优势和使用场景。它不仅适合单元测试,还能很好地管理自动化用例,生成测试报告,并支持分布式执行和重试功能。希望对你理解Pytest框架有所帮助!
转载地址:http://vnafk.baihongyu.com/