一、接口测试的准备工作

做接口测试之前需要有接口文档,请求参数,返回参数

二、使用postman进行接口测试

1.get请求

①get请求可以直接在URL后面添加问号加参数,不需要使用工具来测试接口:

②将stu_name改成小黑

以上是单个参数的传参,如果是有多个参数的话,使用&来连接多个参数传参:url?name=小黑&sex=女&age=18

2.post请求

①登录接口:填写URL,请求方法;在body-->form-data里面填写参数以及value,根据接口说明文档判断返回的对错。

注册接口:填写URL,请求方法,在body-->form-data里面填写参数以及value。注册一个新的登录用户,然后看看注册的用户能否登录。

 ③cookie

a.页面抓包:浏览器输入https://qun.qq.com/member.html,点击右键--->检查--->network--->XHR,然后刷新页面就能抓到包了。

XHR---------代表发出去的接口的请求

①get_group_list-------------获取群列表的接口;create---我创建的群;join--我加入的群;manager----我当管理员的群

②get_friend_list----------获取好友的接口;0_99代表某个分组内的阶值。

③search_group_member-----------获取左边的这个群的信息的接口,

从抓到的包中获取到了接口的地址,接口的请求参数,接下来使用postman发送一次请求:

①get_group_list-------------获取群列表的接口,从header中找到URL、请求参数、cookie

cookie填写在headers下面,如图所示:

②get_friend_list----------获取好友的接口;

③search_group_member-----------获取左边的这个群的信息的接口,

这两个接口的方法与获取群列表的接口方法相同。

④header

这里需要在headers里面传一个Referer,Referer 的作用就是判断这个URL是从哪里点进来的

入参是json类型的

body--->raw---->json(application/json),将json串直接复制过来即可。运行成功后,使用查询学生接口查询是否能查到这个新添加的学生信息

⑥上传文件接口

填写URL,请求方法,body--->form_data--->填写key---->选择file----->value栏的select files选择需要上传的文件即可。

⑦保存接口

为了方便下次调用,将接口分类保存起来。

⑧变量定义

当有很多接口需要修改ip的时候,可以将ip定义成一个变量,调用接口的时候直接引用变量即可,方便且不易出错。调用的时候直接是{{ip}}即可。

  • 变量的添加方法如图:变量ip,变量值是http://xxxx.cn

调用接口的时候直接将这一串的ip使用参数替换就可以了,如图{{ip}},它就会自动的取刚才定义的变量。

当然,也可以定义变量cookie,如果每个接口都需要用到cookie,就可以定义一个cookie变量。以后如果cookie失效了,将新的cookie改一下就可以了了

 三、接口测试用例

接口的测试用例与功能测试用例的编写方法相同,只需将所有业务点覆盖到就可以了。

四、接口自动化

①URL:https://www.apiopen.top/novelSearchApi?name=盗梦笔记

②将url复制到postman上,考虑到各种场景的测试,url后面的name=盗梦笔记就使用变量来代替:https://www.apiopen.top/novelSearchApi?name={{book_name}}

③在桌面编写一个文本文件book.txt,写有3条数据:红楼梦,西游记,水浒传。(特别提醒:book.txt的编码需要保存为utf-8格式)

④postman调用接口并保存

⑤Runner

点击Runner---->上课用的接口--->查询小说接口

各个选项的选择如图所示:

⑥Run 上课用的接口,我们这里有3条数据,它就会帮你运行3次,如下图所示表示3次请求都获取到了。

第二种情况:

要是有多条数据就写多列就行了。例如登录接口:我们可以是第一条正常登录,第二条异常登录,等等。

运行,如下图,共有3条登录请求,其中有2条是登录成功的,但是有1条是登录不成功的,因为账号密码错误。这里,我们需要手动查看每一条请求的成功与否,为了能实现自动校验结果,我们使用了postman来实现接口的自动化。

五、postman实现接口的自动化

1.调用登录接口:

点击tests--->Responses body:contain string)--->修改test()的内容和include()的内容。

如下图所示,这样就加了检查点。它就会自动的帮你检查,每次调用完这个接口之后有没有返回userid,sign。假如是返回了,那么你的这条用例就过了,没有返回就是失败。填好如下信息,保存。然后就点Run。

这样就能直观的看出第一条和第二条用例成功了,第三条失败(因为账号密码是错的),所以就报错了。

六、检查点不是统一的。

上面的例子中,检查点是单一的;当检查点都不一样的时候,就可以这样写:

调用查询小说的接口:

①在文本文件里面写上check列:

postman的写法:

写法一:

或者是写法二:

Run一下:

接口测试——postman的更多相关文章

  1. 接口测试——postman & jmeter

    新名词: 自动化测试:写代码帮你测试 接口:是一个抽象的概念,一种交互关系. 抓包:拦截请求. 接口测试:就是功能测试,比后者还简单. 需要有测试文档,包括项目.模块.URL.请求方式.参数.参数说明 ...

  2. 接口测试--postman简介

    一.什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑 ...

  3. 接口测试-postman,JMeter与LoadRunner比较

    postman是一个谷歌出的轻量级的专门测试接口的小工具~(PS:postman包括两种:Chrome浏览器插件和postman客户端,我使用的是postman客户端)虽然不如firefox的post ...

  4. Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试 Postman 使用方法详解

    Postman+Postman interceptor的安装和使用-解决把chrome浏览器登录状态同步到postman进行有依赖的接口测试   问题引入:做接口测试时,有依赖关系的接口往往不好测试( ...

  5. 接口测试postman和Jmeter

    接口测试属于功能测试的范畴,一般来说分为两种,一种是程序内部的接口,一种是系统对外的接口. postman测试接口 1. get请求: (1) 直接在浏览器中输入接口地址+?+参数 (2)使用post ...

  6. 接口测试 Postman 做接口自动化测试_入门篇

    可能是目前最好用的web接口调试工具 无需注册(注册后可多终端同步用例) 免费(每年付费$60可用云服务,30天免费试用) 保存历史记录 支持录制请求 基于Chrome的V8引擎,支持JS脚本(基本支 ...

  7. 接口测试postman深度挖掘应用③--postman终结篇

    上一章节我们介绍了postman的变量测试以及导入数据测试基本上技术性的东西已经差不过了,这篇文章再系统性的介绍一下. 一.下载 官网:https://www.postman.com 1.选择需要下载 ...

  8. 接口测试postman深度挖掘应用②

    上一篇文章我们已经介绍了postman的基本用法,以及接口测试原理.未关注博主的可以关注下博主,后期测试安全,以及各种工具用法,编程语言都会有讲解的 老样子:①先补习基础知识:  ②补充上一章节由于过 ...

  9. 接口测试——postman安装

    http://www.jianshu.com/p/dd0db1b13cfc postman的视频终于过审了,https://ke.qq.com/course/229839#tuin=1eb87ef,大 ...

随机推荐

  1. 20140320 roc曲线 sizeof

    1.roc曲线 http://www.zhizhihu.com/html/y2012/4076.html 2.using namespace std的缺点:程序中定义一个变量cout会被误认为是std ...

  2. 《DSP using MATLAB》Problem 8.44

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  3. 干货:Java正确获取客户端真实IP方法整理

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...

  4. ThreadPoolTaskExecutor的配置使用

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/ft305977550/article/de ...

  5. java 3des加密问题记录

    3des加密有不同的加密模式和填充模式,这个网上很多不多说了,只要保证加解密的时候加密模式和填充模式保持一致就可以了 首先对于密钥的生成,java中有2种方式: 1.第一种,采用ECB模式和不填充模式 ...

  6. swing 托盘

    直接上方法, 不过有些问题要注意,最后会说明! private void systemTray() { if (SystemTray.isSupported()) { // 判断系统是否支持托盘功能. ...

  7. python模块typing的作用

    一.介绍 Python是一门弱类型的语言,很多时候我们可能不清楚函数参数类型或者返回值类型,很有可能导致一些类型没有指定方法,在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数, ...

  8. android—退出应用程序

    在android系统中,当你点击返回按钮时,会默认调用finish方法(还是destroy方法,记不太清楚),这样你就能退出当前Activity.注意是当前Activity,不是应用程序,因为如果这个 ...

  9. 标记excel中输入的重复数据

    首先选中需要标记重复的数据列 开始 -> 条件格式 -> 突出显示单元格规则 -> 重复值 选择相应的颜色即可 效果如下:

  10. 一个小村庄的烦恼(netty-nio)

    背景:一座大山有个小村庄,住着几百户人家,隔着大山那边几十里山路,有个小集市,家家户户经常翻山越岭买日用品,苦不堪言(同步阻塞,单线程,每户人家一个线程,去赶集了,今天也干不了别的活). 后来村长看着 ...