Pytest 教程:从 0 到 1 搭建 Pytest 接口自动化测试项目

从 0 到 1 搭建 Pytest 接口自动化测试项目

1.创建项目目录

mkdir Pytest-API-Testing-Demo

2.项目初始化

// 进入项目文件夹下cd Pytest-API-Testing-Demo// 创建项目 python 项目虚拟环境python -m venv .env// 启用项目 python 项目虚拟环境source .env/bin/activate

3.安装项目依赖

// 安装 requests 包pip install requests// 安装pytest 包pip install pytest// 将项目依赖项保存到 requirements.txt 文件中pip freeze > requirements.txt

4.新建测试文件及测试用例

// 新建测试文件夹mkdir tests// 新建测试用例文件cd teststouch test_demo.py
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

5.编写测试用例

测试接口可参考项目中 demoAPI.md 文件

import requestsclass TestPytestDemo:
    def test_get_demo(self):        base_url = "https://jsonplaceholder.typicode.com"        # 发起请求        response = requests.get(f"{base_url}/posts/1")        # 断言        assert response.status_code == 200        assert response.json()['userId'] == 1        assert response.json()['id'] == 1
    def test_post_demo(self):        base_url = "https://jsonplaceholder.typicode.com"        requests_data = {            "title": "foo",            "body": "bar",            "userId": 1        }        # 发起请求        response = requests.post(f"{base_url}/posts", requests_data)        # 断言        assert response.status_code == 201        print(response.json())        assert response.json()['userId'] == '1'        assert response.json()['id'] == 101

6.运行测试用例

pytest

7.查看测试报告

CsoB4y

8.接入 pytest-html-reporter 测试报告

https://github.com/prashanth-sams/pytest-html-reporter

安装 pytest-html-reporter 依赖
pip install pytest-html-reporter 
配置测试报告参数
  • 项目根目录下新建 pytest.ini 文件

  • 添加以下内容

[pytest]addopts = -vs -rf --html-report=./report --title='PYTEST REPORT' --self-contained-html
运行测试用例
pytest
查看测试报告

报告在项目根目录下的 report 目录下,使用浏览器打开 pytest_html_report.html 文件即可查看

8JdxbA

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试工程师 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu下docker安装

目录 官网链接 安装步骤 docker使用方法 拉取镜像 创建镜像 运行镜像 查看运行结果 保存镜像文件 传输到windows下 官网链接 Install Docker Engine on Ubuntu | Docker Docs 安装步骤 1.运行以下命令卸载所有冲突的包: for pkg in docker.io docker-d…

基于Spring Boot的社区便民服务管理系统的设计与实现

摘 要 二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一…

【海贼王的数据航海】排序——冒泡|快速|归并排序|总结

目录 1 -> 交换排序 1.1 -> 冒泡排序 1.1.1 -> 代码实现 1.2 -> 快速排序 1.2.1 -> hoare版本 1.2.2 -> 挖坑法 1.2.3 -> 前后指针法 1.2.4 -> 快速排序(递归版) 1.2.5 -> 快速排序(非递归版) 2 -> 归并排序 2.1 -> 归并排序 2.…

js逆向-某东cfe滑块逆向分析

声明 本文仅供学习参考,如有侵权可私信本人删除,请勿用于其他途径,违者后果自负! 如果觉得文章对你有所帮助,可以给博主点击关注和收藏哦! 分析 网址: aHR0cHM6Ly9jZmUubS5qZC5jb20vcHJpdmF…

CTF题型 SSTI(2) Flask-SSTI典型题巩固

CTF题型 SSTI(2) Flask-SSTI典型题巩固 文章目录 CTF题型 SSTI(2) Flask-SSTI典型题巩固前记1.klf__sstiSSTI_Fuzz字典(网上收集自己补充) 2.klf_2数字问题如何解决了?|count |length都被禁? 3.klf_3 前记 从基础到自己构造paylo…

实现:mysql-5.7.42 到 mysql-8.2.0 的升级(rpm方式)

实现:mysql-5.7.42 到 mysql-8.2.0 的升级(rpm方式) 1、升级准备1、使用mysql-shell 检查工具检查兼容性 2、操作环境3、备份数据库、my.cnf文件,停止mysql服务(重要)4、上传、解压安装包5、查看已安装的my…

第十三届蓝桥杯省赛真题 Java C 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 排列字母试题 B: 特殊时间试题 C: 纸张尺寸试题 D: 求和试题 E : \mathbf{E}: E: 矩形拼接试题 F: 选数异或试题 G: GCD试题 H: 青蛙过河试题 I: 因数平方和试题 J \mathrm{J} J : 最长不下降子序列 发现宝藏 前些天发现了一个巨牛的人…

一周学会Django5 Python Web开发-Jinja3模版引擎-模板语法

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计37条视频,包括:2024版 Django5 Python we…

问界汽车提车全流程及注意点【伸手党福利】

问界汽车提车全流程及注意点 目录 说明为没买车和没提车的小伙伴提供参考全程必须车主办理(人必须在场),如果不是车主授权书很难办。时间:提车用时4小时,2个人 提车提前联系-交付专员做好需求调研当天-到店验车-千万不…

Vue+SpringBoot打造民宿预定管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

算法——位运算(一篇搞定)

本专栏为大家分享本人学习算法遇到的不同类型的题目以及解析! 此篇文章给大家分享一些关于位运算算法的题目,在开篇还讲述了常见位运算的公式以及题目,如果对您有帮助,麻烦点个关注,如有错误,请您指出! 1.常见位运算总结(包含5道题目) 1.1基础位运算 运算符操作<<左移&…

vue 部署 abap BSP

How to Create a Vue.Js App with VS Code and Deploy... - SAP Community 详情见上面这个教程连接 Open VS Code and open a terminal window and run npm install -g vue/cli restart vscode. Open a terminal window again and go to your workspace folder to create the…

国密算法 SM9 公钥加密 数字签名 密钥交换 基于身份的密码算法(IBC)完整高效的开源python代码

上篇文章&#xff08;发布于2023-09-18&#xff09;给自己挖了个坑&#xff0c;说是要搞定SM9。从国庆前一周开始&#xff0c;到现在一个月时间&#xff0c;这个坑终于填上了。此前信息安全数学基础太差&#xff0c;理解不了SM9双线性对、扩域计算等等&#xff0c;为此还特意选…

由浅到深认识C语言(6):变量的存储类型

该文章Github地址&#xff1a;https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.csdn…

想做好国际现货黄金行情交易 请从这样的预期开始

国际现货黄金行情以多变而著称&#xff0c;而这样多变的行情&#xff0c;又由于其趋势稳定&#xff0c;而深受投资者喜爱。我们看近期&#xff0c;国际现货黄金行情不断上涨&#xff0c;短线呈现出很强的上涨趋势&#xff0c;这正是投资者入场交易的好时机&#xff0c;但是要做…

目标检测——PP-YOLOE-R算法解读

PP-YOLO系列&#xff0c;均是基于百度自研PaddlePaddle深度学习框架发布的算法&#xff0c;2020年基于YOLOv3改进发布PP-YOLO&#xff0c;2021年发布PP-YOLOv2和移动端检测算法PP-PicoDet&#xff0c;2022年发布PP-YOLOE和PP-YOLOE-R。由于均是一个系列&#xff0c;所以放一起解…

从头手搓一台ros2复合机器人(带机械臂)

一.前言 大家好呀&#xff0c;从本小节开始我们就步入了仿真篇&#xff0c;主要对机器人仿真进行介绍与操作&#xff0c;当然仿真有优点也有缺陷&#xff0c;基于对此学习&#xff0c;我们可以对上几小节创建的小车模型模拟硬件的特性&#xff0c; 比如&#xff1a; 有多重…

洛谷[NOIP2016 提高组] 玩具谜题

[NOIP2016 提高组] 玩具谜题 题目背景 NOIP2016 提高组 D1T1 题目描述 小南有一套可爱的玩具小人&#xff0c;它们各有不同的职业。 有一天&#xff0c;这些玩具小人把小南的眼镜藏了起来。小南发现玩具小人们围成了一个圈&#xff0c;它们有的面朝圈内&#xff0c;有的面…

JetBrains学生包续期

Pycharm进入显示your license has expired 这个意思是你的许可过期了&#xff0c;重新输入最新的激活码就可以了。 1. 说明我的JetBrains学生包需要进行续期了。首先登录JetBrains官网打开个人主页&#xff0c;点击Renew my Education Pack 2. 然后填写一系列信息&#xff0c;…

VR历史建筑漫游介绍|虚拟现实体验店|VR设备购买

VR历史建筑漫游是一种利用虚拟现实技术&#xff0c;让用户可以身临其境地参观和探索历史建筑的体验。通过VR头显和相关设备&#xff0c;用户可以在虚拟环境中自由移动和互动&#xff0c;感受历史建筑的真实氛围和文化内涵。 在VR历史建筑漫游中&#xff0c;您可以选择不同的历史…