一、接口测试的准备工作

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

二、使用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. python入门 集合(四)

    集合 集合是一个无序的不重复元素序列,可以迭代,也可以修改.集合迭代的时候元素是随机的. 集合通常用来 membership testing, 去重, 也可以用来求交集并集补集. 介绍一下如何创建集合 ...

  2. LeetCode 707. Design Linked List (设计链表)

    题目标签:Linked List 题目让我们自己设计一个 linked list,可以是单向和双向的.这里选的是单向,题目并不是很难,但要考虑到所有的情况,具体看code. Java Solution ...

  3. 2019 牛客多校第一场 E ABBA

    题目链接:https://ac.nowcoder.com/acm/contest/881/E 题目大意 问有多少个由 (n + m) 个 ‘A’ 和 (n + m) 个 ‘B’,组成的字符串能被分割成 ...

  4. Tomcat下载部署及解决中文乱码显示

    一.下载 tomcat下载链接:https://tomcat.apache.org/ 1.进入tomcat官网后,我使用的是tomcat9,所以我选择tomcat9.然后点击core下的zip包下载. ...

  5. python爬虫_从零开始破解js加密(一)

    除了一些类似字体反爬之类的奇淫技巧,js加密应该是反爬相当常见的一部分了,这也是一个分水岭,我能解决基本js加密的才能算入阶. 最近正好遇到一个比较简单的js,跟大家分享一下迅雷网盘搜索_838888 ...

  6. 取地址栏query

    GetQueryParm () { var name, value       var str = window.location.href       var num = str.indexOf(' ...

  7. SonarQube代码质量扫描持续集成

    1.安装JDK和配置JAVA_HOME和CLASSPATH 2.安装mysql数据库 3.创建数据库和用户 mysql -u root -p mysql> CREATE DATABASE son ...

  8. 一些CSS3新技术

    前些日子在SmashingMagazine看到一篇关于CSS3新技术不错的文章,它详细介绍了CSS3的新特性和它的使用方法,它包括:浏览器专有属性.选择器(属性选择器.连字符.伪类.伪元素).RGBA ...

  9. OC中Nil nil NULL 和 [NSNULL null]的区别

    关于这个问题看过两三次了,但是每次过两个月脑袋里又会不清晰,索性记录一下加深一下印象. 一.nil 当一个对象置为nil时,这个对象的内存地址就会被系统收回.置空之后是不能进行retain,copy等 ...

  10. docker ps -a

    1 pwd 2 mkdir data 3 ll 4 uname -n 5 cd data/ 6 ll 7 pwd 8 ll 9 wget -N --no-check-certificate https ...