IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> python+requests+pytest 接口自动化框架(一) -> 正文阅读

[开发测试]python+requests+pytest 接口自动化框架(一)

目录

一、Pytest详解以及常用的插件安装

二、Pytest默认的测试用例的规则

三、Pytest用例运行方式以及参数

1.命令行模式运行 命令:pytes

2.主函数模式运行

3.基于pytest.ini配置文件运行

四、pytest测试用例的执行顺序

五、pytest跳过测试用例

六、pytest测试用例的前后置

一、Pytest详解以及常用的插件安装

1.pytest是一个非常成熟的基于python的单元测试框架(测试的是程序的最小单元:函 数,方法)

  • python:unittest和pytest
  • java:junit和testng

2.pytest可以和所有的自动化测试工具或模块:selenium,requets,appium结合实现 web自动化,接口自动化,app自动化。

3.它可以和allure插件生成美观以及定制化的报告以及和jenkins实现持续集成。

4.pytest有很多强大的插件 pytest(自己)

  • pytest-html (生成简易的HTML报告)
  • pytest-xdist(多线程执行)
  • pytest-ordering(修改测试用例的执行顺序)
  • pytest-rerunfailures (失败用例重跑)
  • pytest-base-url(管理基础路径:测试环境,开发环境,线上环境)
  • allure-pytest(生成allure报告)

放到一个requirements.txt的文件。一次行的安装所有的插件。

命令如下:-r表示递归

pip install ‐r requirements.txt

5.pytest单元框架主要用来做什么?

  1. 发现测试用
  2. 执行测试用例
  3. 判断测试结果
  4. 生成测试报告

二、Pytest默认的测试用例的规则

  1. 模块名(py文件)必须以test_开头或_test结尾
  2. 测试类必须以Test开头,并且不能带有init方法(初始化方法)
  3. 测试用例必须以test开头

三、Pytest用例运行方式以及参数

1.命令行模式运行 命令:pytes

参数: -vs

-v 输出更加详细的测试用例的信息

-s 输出用例中的调试信息

示例:pytest -vs

-n 多线程运行

????????示例:pytest -vs -n 2

--reruns 失败用例重跑

????????示例:pytest -vs --reruns 2

-x 一旦出现一个用例失败则终止测试。

????????示例:pytest -x

--maxfail 出现指定次数的错误则终止测试。

????????示例:pytest -vs --maxfail 2

--html 生成简易的html报告

????????示例:pytest -vs --html=./reports/report.html

-k 运行包含有指定字符串的测试用例(测试用例的名称必须很规范)

????????test_usermanage_adduser

????????test_usermanage_deluser

????????test_usermanage_edituser

????????示例:pytest -vs -k "mashang or jiaoyu"

指定模块运行:pytest -vs ./testcases/test_weixin.py

指定文件夹运行:pytest -vs ./testcases/weixin

通过node id运行:pytest -vs

./testcases/weixin/test_weixin.py::TestApi::test_02_add_flag

2.主函数模式运行

if __name__ == '__main__':
    pytest.main(['‐vs']);

3.基于pytest.ini配置文件运行

  • 配置文件的名称是固定的,一般放在项目的根目录下。
  • 作用是:可以改变pytest默认的测试用例的规则。
  • 不管是命令行的方式,还是主函数的方式都会自动的读取这个配置文件去运行。
[pytest]
#命令行参数
addopts = ‐vs ‐‐html=./reports/report.html ‐m "smoke or user_manage"
#指定测试用例的路径
testpaths = ./testcases/weixin
#指定测试模块的默认规则
python_files = test_*.py
#指定测试类的默认规则
python_classes = Test*
#指定测试用例的默认规则
python_functions = test_*
markers =
smoke:冒烟用例
user_manage:用户管理用例

四、pytest测试用例的执行顺序

默认的执行顺序是从上到下依次执行。

改变测试用例的执行顺序可以使用插件:pytest-ordering

@pytest.mark.run(order=3)

五、pytest跳过测试用例

1.无条件跳过

@pytest.mark.skip(reason="这里写跳过的理由")

2.有条件跳过

 @pytest.mark.skipif(age<5,reason="少于10年工作经验不考虑录取")

六、pytest测试用例的前后置

def setup_class(self):
    print("在类的前面执行的操作")

def teardown_class(self):
    print("在类的后面执行的操作")

def setup(self):
    print("测试用例执行之前的操作")

def teardown(self):
    print("测试用例执行之后的操作")
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:30:22  更:2022-03-17 22:30:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:34:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码