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里面接口返回一致,这两种参数传递的方式就了解结束了。

相关推荐
白拾7 分钟前
使用Conda管理python环境的指南
开发语言·python·conda
是刃小木啦~27 分钟前
三维模型点云化工具V1.0使用介绍:将三维模型进行点云化生成
python·软件工程·pyqt·工业软件
总裁余(余登武)33 分钟前
算法竞赛(Python)-万变中的不变“随机算法”
开发语言·python·算法
一个闪现必杀技40 分钟前
Python练习2
开发语言·python
Eric.Lee20211 小时前
音频文件重采样 - python 实现
人工智能·python·深度学习·算法·audio·音频重采样
大神薯条老师1 小时前
Python从入门到高手5.1节-Python简单数据类型
爬虫·python·深度学习·机器学习·数据分析
Mr.D学长1 小时前
毕业设计 深度学习社交距离检测系统(源码+论文)
python·毕业设计·毕设
wdxylb1 小时前
解决Python使用Selenium 时遇到网页 <body> 划不动的问题
python
代码骑士1 小时前
【一起学NLP】Chapter3-使用神经网络解决问题
python·神经网络·自然语言处理
wxin_VXbishe2 小时前
springboot合肥师范学院实习实训管理系统-计算机毕业设计源码31290
java·spring boot·python·spring·servlet·django·php