post在线接口测试是什么意思?接口测试ApiPost详细实战教程

知梧 465 2022-09-01


本文关于post在线接口测试是什么意思?接口测试ApiPost详细实战教程。

在进行接口测试时,通常需要测试的接口类型有几种。 大多数是http类型的接口,其他还有web服务、rpc接口等。 这次主要说明应该如何测试http类型的接口,以及应该测试哪些接口。

HTTP接口的概念:

http接口的本质是接口,其目的是基于http协议进行远程通信。 通常,通过浏览器访问的www网站称为http访问。 通常,测试的http格式的接口类型有post和get两种,数据类型有key、value和json两种。

key,value型数据的http接口测试:

1、这种类型最简单的就是直接确定要传输的数据,放在接口地址后面,直接从浏览器访问,查看返回结果

2、添加一些接口测试工具,如jemter,然后添加线程组,再添加sample下的http请求,一共添加查看下面结果树的选项即可。 然后,根据各个字段,在http请求中输入地址和参数即可。 输入完毕后,直接发送请求,确认结果树下的结果是否正确。

注意: 1、如果接口有先决条件,例如需要先登录、需要以前请求的cookie、需要请求标头等。 在这种情况下,只需要添加配置原始的下面的http头管理器、http cookie管理器,并添加登录的http请求即可; 另外,如果多个接口之前的请求地址一直持续,则可以添加http请求默认值,并将相同的地址和配置放在这里。 2、如果有需要自变量的语句变量,也可以使用两种方法。 一个是添加一个结构要素下的“CSV Data Set Config”,将参数变量的字段名和数据写入本地的一个txt文件,将文件地址写入其结构下,其他结构根据需要写入,将变量置于http请求下即可3、另一种情况是,需要从前一个接口返回以下接口的请求参数。 然后,需要在前面的接口下添加后处理器下的“正则表达式提取器”。 然后,取出基于正则表达式从请求中返回的值,写下变量名称哦。 交给下一个界面就好了。

3、直接使用python,调用请求包

4、使用python的urllib软件包,编写接口请求:

json格式的http接口测试:

1、使用工具进入jemter测试,配置相同,参数写在Body Data下;

2、使用python的requets软件包,直接写请求:

一、前言
ApiPost不仅仅是一个调试工具,更是一个接口文档快速生成工具
针对测试人员
接口调试
利用ApiPost进行常规的接口调试功能
接口自动化测试
利用ApiPost提供的断言和流程测试功能,进行接口的流程化测试
后端人员可以通过ApiPost在编写、测试接口的同时快速的、自动生成漂亮、规范的接口文档。相同的时间完成2件事情,大大提升后端开发效率
生成Mock数据
后端可以通过先编写Mock数据给前端,从而让前端提前进入接口调用、前端开发状态
生成序号代码
ApiPost提供主流语言代码自动生成功能。每编写一个接口,ApiPost都支持生成主流语言代码
二、API 请求响应
点击发送按钮后,如果有数据返回,则会显示返回数据,响应时间,响应码,Cookie等


image.png


注意:返回数据默认是 ==美化== 模式,便于查看 JSON XML 格式。您可以通过切换 ==原生== 或==预览== 模式 查看其它类型的类型。


三、返回Headers


image.png
image.png


除了查看结果外,ApiPost也提供了强大的测试校验功能。在这里我们也可以使用断言来进行响应结果的校验
四、响应结果分屏展示
在APIPOST 5.4版本后,支持“响应结果分屏展示”,从而提升工作区的空间


image.png


五、使用断言
协作开发,版本升级,服务器升级,接口返回有可能因为一些bug,和我们预期结果不一致。为了便于开发&测试人员能够更快的发现bug,有利于整个产品质量以及进度的保证。我们推出断言功能。
定义测试用例
验证测试用例
例如接口返回:
{ "errcode": 0, "errstr": "success", "post": [], "get": [], "request": [], "put": "", "header": { "Host": "http://echo.apipost.cn", "Connection": "keep-alive", "Content-Length": "0", "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Encoding": "gzip, deflate, br", "Accept-Language": "zh-CN", "Content-Type": "application/json", "Cookie": "PHPSESSID=n3k73k06o6ghnie4e9re4rbf0t", "Origin": "https://echo.apipost.cn", "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1" } }

定义测试用例:
apt.assert('response.raw.status==200'); apt.assert('response.raw.type=="json"'); apt.assert('response.json.errcode==0'); apt.assert('response.raw.responseTime<100'); apt.assert('response.json.header.Host=="http://echo.apipost.cn"');
点击发送按钮后:


image.png


绿色表示测试通过,红色表示测试不通过。
特别注意:==每个测试用例是一行,不能换行。==
例:
apt.assert('response.json.header.Host=="http://echo.apipost.cn"');
1)response.json.header.Host 表示响应json下面的header数组中的Host字段,
2)必须都为1,才会通过。
常见的测试用例可以通过后执行脚本获取:


image.png


六、多种响应参数变量
1、response.raw:原始响应数据
调用示例:
response.raw.status //响应状态码(200、301、404等) response.raw.responseTime //响应时间(毫秒) response.raw.type //响应类型(json等) response.raw.responseText //响应文本
2、response.json:json格式的响应数据


image.png


调用示例如上面示例:
response.json.data.token //也可以 response.json.data["token"]
3、response.headers:响应头


image.png


调用示例:
response.headers.server //也可以 response.headers["server"]
4、response.cookies :响应cookie
调用示例:
response.cookies.PHPSESSION //也可以 response.cookies["PHPSESSION"]
七、常用断言表达式
1、检查response body中是否包含某个string
apt.assert('response.raw.responseText=="test"'); // 检查响应文本是否等于test字符串 apt.assert('response.raw.responseText.indexOf("test") > -1'); // 检查响应文本是否含有test字符串
2、检测返回JSON中的某个值是否等于预期的值
apt.assert('response.json.hasOwnProperty("errcode")'); // 检测返回json对象的是否含有errcode字段 apt.assert('response.json.errcode=="success"'); // 检测返回json对象的errcode字段是否等于success字符串 apt.assert('response.json.errcode.indexOf("success") > -1'); // 检测返回json对象的errcode字段是否含有success字符串 apt.assert('response.json.errcode!="success"'); // 检测返回json对象的errcode字段是否不等于success字符串 apt.assert('response.json.errcode>=1'); // 检测返回json对象的errcode字段是否大于1 apt.assert('response.json.errcode==null'); // 检测返回json对象的errcode字段是否是null
3、测试response Headers中的某个元素是否存在(如:Content-Type)
apt.assert('response.headers.hasOwnProperty("content-type")');
4、验证Status code(响应码)的值是不是等于200
apt.assert('response.raw.status==200');
5、验证Response time(请求耗时)是否大于某个值
apt.assert('response.raw.responseTime>=100');
6、验证返回类型是不是json
apt.assert('response.raw.type=="json"');
八、总结
随着国内越来越多的项目对开发质量和进度的要求提升,在对于接口管理的问题上,越来越多的技术管理者有了更多的期待
除了一键快速生成、导出API文档,对支持前、后端及测试协同开发,进行接口批量测试等要求也越来越迫切.

上述就是小编为大家整理的post在线接口测试是什么意思?接口测试ApiPost详细实战教程。

国内(北京、上海、广州、深圳、成都、重庆、杭州、西安、武汉、苏州、郑州、南京、天津、长沙、东莞、宁波、佛山、合肥、青岛)eolink软件分析、比较及推荐。




版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:什么是接口调试?接口调试的步骤有哪些?
下一篇:Python爬虫技术--基础篇--Web开发(中)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~