Python+requests+Jenkins接口自动化测试实例
在做功能测试的基础上,我平时也会用postman测试接口,不过postman只能测试一个一个接口,不能连贯起来,特别是我们公司的接口很多都是要用到token的,导致我每次测个需要登录的接口都要去获取到token,做了很多无用功的感觉,心累~~~,所以我就开始学习并捣鼓接口自动化测试。写这篇文章只是用来记录学习的总结,便于以后回顾,温习。我也是初学者,可能Python基础不会太好,我只能写出自己觉得最简单易懂的代码啦,我深知有很多地方需要完善,望大神看到,可进行指导,感谢感谢。
介绍一个公司的业务逻辑,我只做了获取验证码,登录,下单。验证码是每次都不一样,不是固定的。
下面的代码是我从一个一个慢慢整合的,我开始写都是简单的不行的那种,好看我自己错了那里,不过我发现了,更容易检查出自己的错误,更好写对的,后面慢慢进阶,让代码看起来专业一点。
开始啦开始啦~~~如果公司接口文档不会看的话,可以问问公司的开发。
嗯,Python requests接口不会的话,可以先看看这里的http://docs.python-requests.org/zh_CN/latest/user/quickstart.html(中文的官方文档)。
啦啦啦~~~unittest可以看这里https://www.cnblogs.com/yufeihlf/p/5707929.html,下面写的代码我就不一一解释了,我怕我解释错了,误导人啦。
(小白基础啦)安利个最简单的,我开始不会的时候,我是从postman发送一个请求,成功之后就点页面的code,看图啦,下图下图!!!
有很多种选择语言,看你是用那种啦,反正我是用Python requests的
好了,看看我选择的Python requests是怎么样的啦。下图下图!!!



这个好正式、好规范啊,反正我是自己慢慢试探,那个可以去除的,或者可以自己看起来可以更加简洁优化掉啦(就是没有这么规范啦,自己怎么开心怎么写啦),举个例子,像header我觉得cache-control是没有必要的(接口文档没有写这个,开发哥哥只写了content-type)哈哈哈哈哈哈。
有一种最坏的情况的话,如果postman都不会用的话,就自己百度,百度看起来不够完整的话,就继续百度,问开发吧,我后续研究再透彻一点就继续做笔记。
1、测试用例有3个,获取验证码的,登录的,还有一个下单的。接下来我就开始把获取验证码的接口的代码展示啦。

我的验证码是提取出来,建了一个文本文件夹保存起来,要用的时候直接打开文件读取就好了(我感觉有更好的办法,我后期再进一步优化,达到最优化)。
2、接下来的是登录的接口了,登录就会拿到刚刚保存的验证码,登录成功后就会产生token,这个token我也是建了一个文本文件夹保存起来,到时候下单的时候要用到的。

有打印的东西是我想验证一下有没有错,这里可以忽略(新手请原谅)。
3、好了接下来就是下单的接口代码了,这个必填参数有点多啊。
参数可能不是很规范啊,请原谅,是测试数据呢。


这个的下单页面的接口,下单完了之后又订单号的,我在后续会补上连接数据库验证的,先分享这些啦。还是老规矩,我把订单号提取出来,保存到文本文件夹里面,方便以后其他接口要用到直接访问啦。
4、嗯~~~最后一个代码文件啦,是运行测试代码的文件,就是生成测试报告和把测试报告发送到邮箱。看图啦!!!


嗯,发送邮件的话,这里可以百度一下Python发送邮件,就会很多出来了,我就不讲了,我主要是分了超级多小模块,一块一块测试过了,看看可不可以之后再把一块块拼接起来的,像发送邮件和生成测试报告我都是单独写一块的,测试过了,才放一起的。
这里的话,就完了,我的这次测试用例写完了,连接数据库的下次更新上来了,小模块我是写好了的。
下面再啰嗦一下,看下我的项目目录啦~~~不专业的话,快来指导我。
这次写的代码是比较简单,都是写了正常的流程,啊啊啊,后期优化了啊,这次就先将就着看着啦。
目录~~~
目录~~~
来了。。。。

嗯,run_test_case.py和run_test_case1主要是我进一步优化优化的,可忽略~~~
好了看看我的测试报告啦~~~~

点击Detail,如果是通过了可以看到你pass,我这里有内容是因为我在代码里有输入,结果就到了这里,可以忽略~~~,如果是不通过的话,就不会显示pass会显示error,里面会有错误的提示信息(别问我为什么知道,因为我有出错)。
好了,接下来看我的邮箱啦。
来来来~~~~
温馨提示:第一次发送过去,就会在垃圾箱,要标注一下这不是垃圾邮件,才会回到正常的邮箱里面,我用的是QQ邮箱,其他邮箱有待考证。

编辑器我是用pycharm,这个可以自己去官网下载,有免费的~~~
嗯~~~~今天就这么多了,下次再继续更新。
Python接口自动化测试零基础入门到精通(2023最新版)
相关文章:
Python+requests+Jenkins接口自动化测试实例
在做功能测试的基础上,我平时也会用postman测试接口,不过postman只能测试一个一个接口,不能连贯起来,特别是我们公司的接口很多都是要用到token的,导致我每次测个需要登录的接口都要去获取到token,做了很多…...
SpringBoot3核心原理
SpringBoot3核心原理 事件和监听器 生命周期监听 场景:监听应用的生命周期 可以通过下面步骤自定义SpringApplicationRunListener来监听事件。 ①、编写SpringApplicationRunListener实现类 ②、在META-INF/spring.factories中配置org.springframework.boot.Sprin…...
JS常用数据类型转换(数字型和字符串型之间转换)
提供了5中基本数据类型:数字 number 字符串 string 布尔 boolean 空值 null 未定义的 undefined 常用的是数字型和字符串型之间的转换,常用的转换方法如下: 1 数字型转换成字符串型 a) 使用String()方法…...
算法通关村第一关—青铜挑战—用Java基本实现各种链表操作
文章目录 第一关—链表【青铜挑战】1.1 单链表的概念1.2 链表的相关概念1.3 创建链表 - Java实现1.4 链表的增删改查1.4.1 遍历单链表 - 求单链表长度1.4.2 链表插入 - 三种位置插入(1)在链表的表头插入(2)在链表的中间插入&#…...
SparkRDD及算子-python版
RDD相关知识 RDD介绍 RDD 是Spark的核心抽象,即 弹性分布式数据集(residenta distributed dataset)。代表一个不可变,可分区,里面元素可并行计算的集合。其具有数据流模型的特点:自动容错,位置…...
嵌入式设备与PC上位机通信协议设计的几点原则
嵌入式设备在运行中需要设置参数,这个工作经常由PC机来实现,需要为双方通信设计协议,有代表性协议是如下三种: 从上表可以看到,一般嵌入式设备内存和运算性能都有限,因此固定二进制是首选通信协议。 一&am…...
Go 内置运算符
一、算数运算符 1、算数运算符使用 package mainimport ("fmt" )func main(){fmt.PrintIn("103",103) //10313fmt.PrintIn("10-3",10-3) //10-37fmt.PrintIn("10*3",10*3) //10*330//除法注意:如果运算的数都是…...
Table和HashBasedTable的使用案例
------------------- 1.普通使用 package org.example.testhashbasedtable;import com.google.common.collect.HashBasedTable; import com.google.common.collect.Table;import java.util.Map;public class TestHashBasedTable {public static void main(String[] args) {Ta…...
【执行批处理后 executeBatch() 没反应,一个参数相信就能搞定】
一、场景是在使用EasyExcel读取全表时,每次手动提交事务6w多条,总计190w数据量的情况下发生的。 博主比较fw,卡住了两天😶 此问题还有一个比较bug的地方,就是当你在 executeBatch() 上下打断点时还能够执行出来&…...
【LeetCode】每日一题 2023_11_25 二叉树中的伪回文路径(dfs,数组/位运算)
文章目录 刷题前唠嗑题目:二叉树中的伪回文路径题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode?启动!!! 这个月第一次周末早起~ 题目:二叉树中的伪回文路径 题目链接:1457. 二…...
什么是海外私人IP代理?是纯净独享的代理吗?
相信许多互联网工作者都遇到过IP禁令,比如网络抓取项目,使用共享代理服务器向网站发出第一个请求,但却您收到了禁令,这大部分是由于你的共享IP经过多人使用被禁用所致。 那么到底什么是私人代理呢?它们是否适合您的情…...
Vue组件库推荐:Element UI深度解析
在Vue开发中,使用组件库可以极大地提高开发效率,减少重复工作量。Element UI作为一款优秀的Vue组件库,被广泛应用于各类项目中。本文将对Element UI进行深度解析,为开发者提供详细的使用说明和具体的代码示例。 1,Ele…...
Mysql 8.0主从复制模式安装(兼容Mysql 5.7)
Mysql V8.0.35安装 官网地址:MySQL :: Download MySQL Community Server 下载【Mysql 8.0.35】压缩包 解压压缩包,仅保留6个安装文件即可 mysql-community-client-8.0.31-1.el7.x86_64.rpm mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm my…...
基于Django+Tensorflow卷积神经网络鸟类识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统概述系统功能核心技术系统架构系统优势 二、功能三、系统四. 总结 总结 一项目简介 介绍一个基于DjangoTensorflow卷积神经网络鸟类识别系统是一个非…...
史上最全前端知识点+高频面试题合集,十二大专题,命中率高达95%
前言: 下面分享一些关于阿里,美团,深信服等公司的面经,供大家参考一下。大家也可以去收集一些其他的面试题,可以通过面试题来看看自己有哪里不足。也可以了解自己想去的公司会问什么问题,进行有针对的复习。…...
我叫:基数排序【JAVA】
1.自我介绍 基数排序(radix sort)属于“分配式排序” (distribution sort),又称“桶子法” (bucket sort)或bin sort,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,是‘桶排序’的扩展 2.基本思想 将所有待比较数值统一为同样的数位长度,数位较短的数…...
ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用【鸿蒙专栏-05】
ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…...
智慧城市内涝积水监测仪功能,提升城市预防功能
内涝积水监测仪不仅改变了人们应对城市内涝的老办法,还让智慧城市往前迈了一大步。这个监测仪是怎么做到的呢?就是靠它精准的数据监测和预警,让城市管理有了更科学高效的解决妙招。它就像有了个聪明又负责任的助手,让城市管理更加…...
ISCTF2023 部分wp
学一年了还在入门( web where_is_the_flag ISCTF{41631519-1c64-40f6-8dbb-27877a184e74} 圣杯战争 <?php // highlight_file(__FILE__); // error_reporting(0);class artifact{public $excalibuer;public $arrow;public function __toString(){echo "为Saber选择…...
springboot(ssm毕业生学历证明系统Java(codeLW)
springboot(ssm毕业生学历证明系统Java(code&LW) 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0) 数据…...
网络SEO优化与移动端优化的关系是什么
网络SEO优化与移动端优化的关系:为什么两者不可分割 在当前互联网时代,网络SEO优化与移动端优化的关系越来越受到企业和营销人员的关注。随着移动互联网的普及,越来越多的用户通过手机浏览器进行网络搜索和浏览。因此,如何在网络…...
Obsidian个性化首页配置指南:从零开始构建高效知识管理中心
Obsidian个性化首页配置指南:从零开始构建高效知识管理中心 【免费下载链接】obsidian-homepage Obsidian homepage - Minimal and aesthetic template (with my unique features) 项目地址: https://gitcode.com/gh_mirrors/obs/obsidian-homepage 在信息爆…...
基于metaRTC的H264/H265嵌入式高清直播系统开发指南
1. 为什么选择metaRTC开发嵌入式直播系统 第一次接触metaRTC是在一个教育录播项目里,客户要求系统必须支持H265编码,还得能在ARM架构的嵌入式设备上稳定运行。当时试了好几个开源方案,不是编解码性能跟不上,就是内存占用太高。直到…...
《算法题讲解指南:动态规划算法--子序列问题(附总结)》--32.最长的斐波那契子序列的长度,33.最长等差数列,34.等差数列划分II-子序列
🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》《C入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题讲解指南》--动态规划算法 ✨未择之路࿰…...
MTK NV数据损坏 刷机、串号修复、串号修改 ,基带调试 工具教程
MTK 机型刷机工具 SP Flash Tool 最常用的 MTK 芯片刷机工具,支持通过 USB 线刷固件(ROM)。需下载与机型匹配的 Scatter 文件(MTxxxx_Android_scatter.txt)和固件包。操作时需进入设备的 BROM 模式(通常通…...
新手福音:用claude code和快马平台开启你的Python编程第一课
最近在帮朋友入门Python编程时,发现很多新手都会遇到类似的问题:看教程时觉得简单,但自己动手写代码就无从下手。经过几次尝试,我发现用InsCode(快马)平台结合claude code生成的教学项目,能很好地解决这个痛点。下面分…...
SSN在LiDAR目标检测环境配置、SSN在LiDAR目标检测模型代跑训练、SSN在LiDAR目标检测模型改进创新SSN在LiDAR目标检测环境配置:Windows、Ubuntu、Centos、
SSN在LiDAR目标检测环境配置、 SSN在LiDAR目标检测模型代跑训练、 SSN在LiDAR目标检测模型改进创新 SSN在LiDAR目标检测环境配置:Windows、Ubuntu、Centos、Macos等系统环境,如果电脑拥有显卡,可配置GPU版本的SSN在LiDAR环境。 SSN在LiDAR目标…...
VS2022下载与全面使用指南
Visual Studio 2022(简称VS2022)是微软推出的最新一代集成开发环境(IDE),于2021年11月正式发布,相比上一代VS2019,在性能优化、功能迭代、兼容性提升等方面实现了全方位升级,被誉为“…...
如何优化多表查询性能_利用SQL视图与索引视图提升速度
SQL Server索引视图未生效主因是查询未精确匹配视图定义,须显式引用视图名或启用ANSI_WARNINGS/ARITHABORT;MySQL视图无加速作用;PostgreSQL物化视图刷新卡顿需用CONCURRENTLY并建唯一索引。SQL Server 里索引视图为什么没生效?多…...
STM32标准库开发入门与GPIO控制实战
1. 从点灯开始:STM32标准库开发入门指南 作为一名嵌入式开发者,我始终记得第一次点亮LED时的兴奋感。那闪烁的小灯不仅标志着程序的成功运行,更代表着嵌入式世界的入门仪式。本文将带你从最基础的STM32标准库开发入手,逐步深入理解…...
