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 requests

class 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自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【InternLM 笔记】OpenXLAB浦源的基本操作

OpenXLab网址 网址:OpenXLab浦源 模型 创建模型 页面右上角选择【创建】然后选择【创建模型】 创建模型的页面如下 感觉页面中的提示信息填写相应的内容,全部填完后点页面下方的【立即创建】完成模型的创建 模型上传 安装所需的工具 apt install …

最全参赛指南!2024 年(第 17 届)中国大学生计算机设计大赛大数据主题赛现已开赛

2024 年(第 17 届)中国大学生计算机设计大赛大数据主题赛“数据解读乡村发展”赛题已于和鲸平台正式开赛,一个月来,全国已有超百所高校近千位优秀本科生积极响应大赛号召完成报名。 为进一步助力广大师生顺利参赛,和鲸…

RabbitMQ问题

如何实现顺序消费? 消息放入到同一个队列中消费 如何解决消息不丢失? 方案: 如上图:消息丢失有三种情况,解决了以上三种情况就解决了丢失的问题 1、丢失1--->消息在到达交换机的时候;解决&#xff1…

阿里云2核4G4M轻量应用服务器价格165元一年

阿里云优惠活动,2核4G4M轻量应用服务器价格165元一年,4Mbps带宽下载速度峰值可达512KB/秒,系统盘是60GB高效云盘,不限制月流量,2核2G3M带宽轻量服务器一年87元12个月,在阿里云CLUB中心查看 aliyun.club 当前…

鸿蒙Harmony应用开发—ArkTS声明式开发(绘制组件:Path)

路径绘制组件,根据绘制路径生成封闭的自定义形状。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Path(value?: { width?: number | string; height?: number |…

[已解决] vscode 跳转 python 代码失败

linux 环境下,"Ctrl 单击" 跳转函数定义失败,可以尝试下面的方法: setting -> 输入 go to definition -> 将下列两项配置改为 goto (不过当存在多个同名函数时,可能跳转会不符合预期)

ThingsBoard Edge 设备连接

文章目录 一、创建设备1.创建设备配置2.创建设备 二、上传遥测1.MQTTX 工具2.上传遥测 三、属性1.属性类型2.上传客户端属性3.下载共享属性4.订阅共享数据 四、设备告警1.配置告警规则2.清除报警规则3.测试3.1.设备告警3.1.清除告警 五、规则链1.规则管理2.Edge 查看规则链 Thi…

实现安卓连接阿里云物联网平台(2)

完整工程链接 链接:https://pan.baidu.com/s/1ykcJHPBSKBXVMaMWKoVRvA?pwd8888 提取码:8888 (1)创建一个新工程 (2)添加mqtt包的依赖 implementation org.eclipse.paho:org.eclipse.paho.client.mqttv…

AI将如何影响我们的生活?

1. AI 会如何影响你的生活 通用聊天场景:也即 ChatGPT 本身,或者用 gpt-3.5 的 api 实现的各类网站或小程序。他们没有明确的问题场景,但反而可以解决非常多的问题,比如搜索一些常见问题的答案、编个笑话等,可以当个搜…

力扣刷题(DAY09-DAY11)

Day09 0958. 二叉树的完全性检验 知识点:完全二叉树:在一棵完全二叉树中,除了最后一层外,所有层都被完全填满,并且最后一层中的所有节点都尽可能靠左。最后一层(第 h 层)中可以包含 1 到 个节点…

白酒:原料的加工方式对白酒品质的影响研究

在豪迈白酒的酿造过程中,原料的加工方式对白酒的品质起着至关重要的作用。云仓酒庄深知这一点,并进行了深入的研究和实践。本文将探讨原料的加工方式如何影响白酒的品质,以及酒庄如何通过改进加工方式来提升白酒的品质。 首先,原料…

web服务架构

1 Web服务器(如Nginx、Apache等)和Web应用框架(如Flask、Django等) Web服务器(如Nginx、Apache等)和Web应用框架(如Flask、Django等)在Web应用开发和部署中扮演着不同的角色&#xf…

Windows Server 各版本搭建远程访问 / VPN 服务器实现 VPN 连接(03~19)

一、Windows Server 2003 开机后点击添加或删除角色 点击下一步 勾选自定义,点击下一步 点击 远程访问/VPN 服务器,点击下一步 点击下一步 点击下一步 勾选自定义,点击下一步 选择配置类型,点击下一步 点击完成 点击是 点击完成…

RTSP视频监控EasyNVR安防视频云平台直播鉴权功能简述

RTSP协议视频监控系统EasyNVR安防视频云平台,可支持设备通过RTSP/Onvif协议接入并进行视频流的处理及分发,在视频监控场景中可实现视频实时监控直播、云端录像、云存储、录像检索与回看、告警、级联等,平台能将拉取过来的音视频流转化成适合全…

酷得智能电子方案 儿童对讲机

儿童对讲机的设计通常会考虑到孩子的使用习惯和安全,操作简单,适合不同年龄段的儿童使用。同时,为了防止孩子误操作,一些对讲机会有一键锁闭功能,确保除了对讲键之外的所有功能都不会被小朋友乱按。而且,儿…

解锁编程潜能:ChatGPT如何革新软件开发

目录 一、背景 二、功能描述 三、总结 一、背景 在这个飞速发展的数字时代,软件开发的效率和质量成了衡量一个开发者能力的重要标准。随着人工智能技术的不断进步,越来越多的开发者开始寻找能够提升工作效率的新方法。我就是其中之一,最近…

网络安全框架和云安全参考架构介绍

目录 一、网络安全框架 1.1 概述 1.2 IATF框架 1.2.1 框架来源 1.2.2 框架结构图 1.2.3 框架内容 1.2.3.1 人(People) 1.2.3.2 技术(Technology) 1.2.3.3 操作(Operation) 1.3 NIST网络安全框架 …

词令微信小程序怎么添加到我的小程序?

微信小程序怎么添加到我的小程序? 1、找到并打开要添加的小程序; 2、打开小程序后,点击右上角的「…」 3、点击后底部弹窗更多选项,请找到并点击「添加到我的小程序」; 4、添加成功后,就可以在首页下拉我的…

Java毕业设计-基于springboot开发的就业信息管理系统-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、前台功能模块2、后台功能模块2.1管理员功能2.2学生功能2.3企业功能2.4导师功能 四、毕设内容和源代码获取总结 Java毕业设计-基…