自动化接口测试-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. 项目介绍
  1. 自动化框架设计

1)框架组成

selenium,web ui自动化核心库,封装了大量的操作浏览器的方法

pytest,python第三方测试库,提供了大量的用例管理和执行的方法

这2个第三方库,提供了web自动化工作中的核心功能,模拟web操作以及用例的组织管理

2)设计模式

【关键字驱动】

a.原始代码分离成:代码与数据

b.将分离出来的代码进行二次分离:行为代码和测试代码

c.数据驱动行为代码,生成:最终的基于关键字驱动的测试代码

从而更加便捷地进行自动化测试代码的管理,以及提高自动化的复用性,让使用者更加容易理解和使用自动化。

【POM】

Page Object Modules/页面对象模型/PO/POM

页面对象设计模式优点:

a)测试代码和页面特点代码(例如定位和行为)之间有很清晰的区分

b)页面提供的服务或操作只有一个存储库(比如一个py文件),不需要把服务分散到整个测试中

  1. 用例编写

【退货】

【提升500%自动化用例编写和修改效率】

直接复用当前浏览器继续自动化操作

以上是关于自动化接口测试-PyTest自动化测试框架的主要内容,如果未能解决你的问题,请参考以下文章

pytest接口自动化测试框架 | pytest生成简单测试报告

pytest接口自动化测试框架 | 基于Pytest的Web UI自动化测试框架介绍

pytest接口自动化测试框架 | pytest常用插件

pytest接口自动化测试框架 | 控制测试用例执行

pytest接口自动化测试框架 | pytest常用运行参数

pytest接口自动化测试框架 | pytest获取执行数据pytest禁用插件