pytest--python的一种测试框架--接口测试

接口测试

工具

POSTMAN;

接口选择

豆瓣电影,进制数据

POSTMAN下载:

1.POSTMAN官网:https://www.postman.com/products/;

2.点product选Download Postman

下载完之后双击打开就可以用的。

打开豆瓣网址:

https://movie.douban.com/点击右键,选择检查,这样就打开了浏览器的控制台,进入了一个客户端到服务端请求的详细记录。点击到network,右键刷新,就可以看到下面都是我们要请求的一个资源。如图

status(状态):就是我们的状态码;

type(类型):就是看内容是文档还是图片;点击Fetch/XHR,是XMLHttpRequest的一方式,这是一种筛选,把请求中XMLHttpRequst这个请求方式的请求筛选出来。点击其中一个https://movie.douban.com/j/subject_abstract?subject_id=35633969;点击preview(预览),这个是折叠的,打开后我们可以看到json格式的语句的接口的返回。

如图详解:

1、第一步先点击加号,就出现了下面的输入框,

2、可以看到2号处展示;Enter request URL(需要输入URL)。URL就是接口地址,复制豆瓣页面subject_abstract对应的标头里的URL,回到POSTMAN里面在输入处往里面粘贴,然后去确认一下接口的请求方法,如图7里的显示为get,所以框前那个选项就选择get,这个时候我们就发现下面在Params(参数),它自己填充的。这个参数是怎么填充的呢?就是通过URL里面subject_abstract?后面就是参数和参数的值他们通过=进行连接,多个参数的话通过&进行连接;里面出现的%E7%83%AD%E9%97%A8是可以进行解码的这个是URL的中文参数;

解码网址:https://www.iamwawa.cn/urldecode.html。

如图所示解码显示这条语句代表热门的意思。Page_limit代表当前页数的限制也就是分页,每一页展示数据条数的极限,page_start从0开始,就是说明如果请求的话第一页数据量为50.然后,点击send发送请求,显示如图10。在做接口测试的时候,我们首先会观察它的状态返回码(status)如图显示,Starus显示为200OK,这就说明接口是正常返回的,里面是否正确还需要进行进一步验证。下方可以看到,返回是一个 "subjects":数组,目前接口是通的,但是具体接口返回的数据对不对我们需要做校验,如何做校验?接口测试我们是可以拿到一个接口文档的,然后我们需要对接口的返回根据当前的业务进行对比,也就是这个字段应该返回什么,我们需要进行一个数据的比对。但是因为豆瓣这个网址是从网上找的所以拿不到它的接口文档,也不知道它各个字段对应的内容应该是什么。



如何找到一个有接口文档的接口?

网址:https://www.binstd.com/(已停服)

进制数据网站中有免费的API,登录成功之后在登录首页点击API,选择一个免费的项目比如手机号码归属地。打开之后可以看到,有接口地址、支持格式、请求方法、请求示例;这个时候可以复制接口地址到POSTMAN

https://api.binstd.com/shouji/query(已停服,更换内容:https://sellshop.5istudy.online/sell/shouji/query)获取参数两种方式:1、在输入语句后加?shouji=13456755448,这样下面的参数就自动填充了。2、也可直接在下面VALUE填充13456755448,在KEY填充shouji,这样上面的输入也会自动补上?shouji=13456755448语句。两种方法,效果相同。

这个时候点击send,却发现虽然接口是通的,但是"msg": "APPKEY为空",也就是说身份认证为空,所以还要传入该参数(填你自己的appkey);输出内容如下图所示

请求路径:https://dashboard.apiuni.cn/api/uni_api/consume/20aaab16e

post方式接口

post接口使用量基本上可以说仅次于get,

post有两种传参方式一种是data,一种是json

在POSTMAN新建一个口,输入https://jsonplacehoder.typicode.com/posts;

选择post方式,

在body中传参最常用的方式有form-data和raw,

此次选择raw语句

选择json,将内容放入body(POST里面不允许有单引号,单引号会报错,改双引号):

python 复制代码
{
    "title":"foo",
    "body":"bar",
    "userId":1
}

点send你会发现它的状态码是201这也是成功连接上接口的一种。

使用form-data传递:

网址:fanyi.youdao.com

打开有道,右键-检查,可以通过f12的工具进行请求的一个抓包。如图输入并打开key里面的负载(Payload),这里面存放的表单数据(form-data)就是对应的POSTMAN里面的form-data格式的输入。使用form-data进行接口传递(传递语句或文件什么的)的话一般就是一个post请求。

如图所示点击send接口连接成功,并且可以看到官网接口返回与POSTMAN里面接口返回一致,这两种参数传递的方式就了解结束了。

相关推荐
奔跑吧邓邓子8 分钟前
【Python爬虫(12)】正则表达式:Python爬虫的进阶利刃
爬虫·python·正则表达式·进阶·高级
码界筑梦坊31 分钟前
基于Flask的京东商品信息可视化分析系统的设计与实现
大数据·python·信息可视化·flask·毕业设计
pianmian132 分钟前
python绘图之箱型图
python·信息可视化·数据分析
csbDD1 小时前
2025年网络安全(黑客技术)三个月自学手册
linux·网络·python·安全·web安全
mikey棒棒棒2 小时前
Redis——优惠券秒杀问题(分布式id、一人多单超卖、乐悲锁、CAS、分布式锁、Redisson)
数据库·redis·lua·redisson·watchdog·cas·并发锁
赔罪2 小时前
Python 高级特性-切片
开发语言·python
伊一大数据&人工智能学习日志3 小时前
selenium爬取苏宁易购平台某产品的评论
爬虫·python·selenium·测试工具·网络爬虫
说是用户昵称已存在3 小时前
Pycharm+CodeGPT+Ollama+Deepseek
ide·python·ai·pycharm
Fansv5873 小时前
深度学习-2.机械学习基础
人工智能·经验分享·python·深度学习·算法·机器学习
wang_yb4 小时前
『Python底层原理』--Python对象系统探秘
python·databook