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

相关推荐
湫ccc10 分钟前
《Python基础》之基本数据类型
开发语言·python
drebander1 小时前
使用 Java Stream 优雅实现List 转化为Map<key,Map<key,value>>
java·python·list
威威猫的栗子2 小时前
Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画
开发语言·python
墨染风华不染尘2 小时前
python之开发笔记
开发语言·笔记·python
Dxy12393102162 小时前
python bmp图片转jpg
python
麦麦大数据2 小时前
Python棉花病虫害图谱系统CNN识别+AI问答知识neo4j vue+flask深度学习神经网络可视化
人工智能·python·深度学习
LKID体2 小时前
Python操作neo4j库py2neo使用之创建和查询(二)
数据库·python·neo4j
LKID体2 小时前
Python操作neo4j库py2neo使用之py2neo 删除及事务相关操作(三)
开发语言·python·neo4j
小屁孩大帅-杨一凡3 小时前
Python-flet实现个人视频播放器
开发语言·python·音视频
算家云3 小时前
快速识别模型:simple_ocr,部署教程
开发语言·人工智能·python·ocr·数字识别·检测模型·英文符号识别