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

相关推荐
测开小菜鸟21 分钟前
使用python向钉钉群聊发送消息
java·python·钉钉
萧鼎2 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸2 小时前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农2 小时前
Python 继承、多态、封装、抽象
开发语言·python
Python大数据分析@2 小时前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树2 小时前
简单的签到程序 python笔记
笔记·python
Shy9604182 小时前
Bert完形填空
python·深度学习·bert
上海_彭彭3 小时前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element
zhongcx013 小时前
使用Python查找大文件的实用脚本
python
yyfhq4 小时前
sdnet
python