一、接口测试的准备工作

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

二、使用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. CSS3:CSS3 文本效果

    ylbtech-CSS3:CSS3 文本效果 1.返回顶部 1. CSS3 文本效果 CSS3 文本效果 CSS3中包含几个新的文本特征. 在本章中您将了解以下文本属性: text-shadow bo ...

  2. Mybatis笔记 - SqlMapConfig

    一.基本配置内容 1.基本格式 mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) typeAliases(类 ...

  3. maven配置私服中可能遇到的问题

    文章目录 之前要写一个hsf的demo,maven的依赖是需要alibaba的私服的,所以出现了下面的错误. 具体参看另一篇文章:https://blog.csdn.net/dataiyangu/ar ...

  4. 20130324 LBP CSLBP 全局存储区 局部存储区 char c[]=”hello world”和char *str=”hello world”的区别

    1.LBP and CSLBP 2.再论char c[]=”hello world”和char *str=”hello world”的区别 /**************代码1************ ...

  5. jquery控件的学习

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 手动从零使用ELK构建一套搜索服务

    前言 这两天需要对接一个新的搜索业务,由于测试机器还没到位,所以就自己创造条件,通过在Windows上安装VM虚拟机,模拟整套环境,从而能快速进入核心业务的开发测试状态中. 系统环境安装配置 虚拟机V ...

  7. pytorch,cuda8,torch.cuda.is_available return flase (ubuntu14)

    因为ubuntu 系统是14.0的,安装pytorch1.0的时候,本身已经安装好了cuda8,在验证gpu的时候,torch.cuda.is_available()返回false 安装命令是: co ...

  8. Yii2 中使用ts

    在运行环境 vagrant Ubuntu box 中安装 sass ,typescript等 安装需要的软件: sudo su -c "gem install sass" # 可选 ...

  9. https://vjudge.net/contest/321565#problem/C 超时代码

    #include <iostream> #include <cstdio> #include <queue> #include <algorithm> ...

  10. leetcode-973-最接近原点的K个点

    题目描述: 可参考:题215 方法一:排序 class Solution: def kClosest(self, points: List[List[int]], K: int) -> List ...