博客
关于我
Pytest自动化测试-简易入门教程(03)
阅读量:804 次
发布时间:2023-03-05

本文共 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/

你可能感兴趣的文章
python socket分包发送数据
查看>>
python socket模块_Python socket模块实现TCP服务端客户端
查看>>
Python SOCKS5代理客户端HTTPS
查看>>
Python Soc网络分析:通过使用函数迭代列表来计算机会网络
查看>>
python转换已转义的字符串
查看>>
Python Sphinx自动摘要:成员函数的自动列表
查看>>
Python SQL和NoSQL数据库操作实战
查看>>
python stdout flush_sys.stdout.flush()方法的用法
查看>>
python string 运算
查看>>
Python str与bytes之间的转换
查看>>
Python subprocess ffmpeg
查看>>
python subprocess Permission denied Errno 13
查看>>
Python subprocess.call - 将变量添加到 subprocess.call
查看>>
Python Subprocess.Popen 从一个线程
查看>>
Python subprocess.Popen 作为 Windows 上的不同用户
查看>>
Python转换PPT为PDF
查看>>
Python subprocess.Popen() 等待完成
查看>>
Python sum 二维列表中具有相同第一个值的元素
查看>>
Python Sympy模块NoConversion:收敛到根失败;请尝试n<;15或MaxSteps>;50
查看>>
Python sys.MODULES包含尚未导入的模块
查看>>