自动化接口测试-PyTest自动化测试框架
Posted Judynie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化接口测试-PyTest自动化测试框架相关的知识,希望对你有一定的参考价值。
一、PyTest自动化测试框架(文件及测试方法要以test_开头)
1、首先安装pytest:pip install pytest。pytest实现参数化,pytest.mark.parametrize第二个参数必须是可迭代的对象。
2、测试用例的组织管理,pytest.mark.first与pytest.mark.run(order=1)都表示最先执行,最好不要混用;同理pytest.mark.last与pytest.mark.run(order=-1)也是一样,都表示最后执行,不要同时使用。
3、pytest的前置和后置操作
4、pytest的fixture运用,一个fixture可以返回多个值,一个方法也可以同时调用多个fixture。
5、pytest中fixture的作用域与自动运行。当我们使用fixture时,把scope的值设置为class时,每一个测试类之前都会被运行。pytest在每个测试函数的外层自动会把函数包装成一个测试类,所以每个函数运行时,scope=class的fixture都会被运行。
6、fixture实现参数化
7、contest统一配置,写在文件中的fixture可配任一测试函数调用。
二、allure自动生成测试报告
- 下载allure:https://github.com/allure-framework/allure2/releases
- 安装java运行环境,配置环境变量
- 安装python的allure支持库:pip install allure-pytest
- 运行:
if __name__ == "__main__":
pytest.main(["-vs", "--alluredir", "./result"])
os.system("allure generate ./result -o ./report_allure --clean") - 打开测试报告命令:allure open ./report_allure
pytest接口自动化测试框架 | 基于Pytest的Web UI自动化测试框架介绍
视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:pytest接口自动化测试框架 | 汇总_COCOgsta的博客-CSDN博客
- 项目介绍
- 自动化框架设计
1)框架组成
selenium,web ui自动化核心库,封装了大量的操作浏览器的方法
pytest,python第三方测试库,提供了大量的用例管理和执行的方法
这2个第三方库,提供了web自动化工作中的核心功能,模拟web操作以及用例的组织管理
2)设计模式
【关键字驱动】
a.原始代码分离成:代码与数据
b.将分离出来的代码进行二次分离:行为代码和测试代码
c.数据驱动行为代码,生成:最终的基于关键字驱动的测试代码
从而更加便捷地进行自动化测试代码的管理,以及提高自动化的复用性,让使用者更加容易理解和使用自动化。
【POM】
Page Object Modules/页面对象模型/PO/POM
页面对象设计模式优点:
a)测试代码和页面特点代码(例如定位和行为)之间有很清晰的区分
b)页面提供的服务或操作只有一个存储库(比如一个py文件),不需要把服务分散到整个测试中
- 用例编写
【退货】
【提升500%自动化用例编写和修改效率】
直接复用当前浏览器继续自动化操作
以上是关于自动化接口测试-PyTest自动化测试框架的主要内容,如果未能解决你的问题,请参考以下文章
pytest接口自动化测试框架 | pytest生成简单测试报告
pytest接口自动化测试框架 | 基于Pytest的Web UI自动化测试框架介绍