在实际工作的过程中,我们通常需要模拟接口,来进行接口测试,我们可以通过JMeter、postman等多种工具来进行接口测试,但是工具的如何使用对于我们来说并不是最重要的部分,最重要的是设计接口测试用例的思路与分析结果的能力

以下通过几个方面来解析遇到接口测试我们应该如何设计测试用例并完成接口测试。

一、需求分析与接口文档分析

当你接手一个新的任务的时候,首先会有产品对测试、开发进行需求会议,在需求会议过后,你需要对需求里面提到的功能进行理解,整理,并明白需求实现的逻辑。

开发人员完成接口开发后,可将该接口进行提测,同时开发人员需要出具接口文档,接口文档的内容主要包括:接口地址、输入参数、输出参数、参数说明、请求方式,下面看一个真实的例子:

以下接口信息包括:接口名称、接口路径、请求参数名称、请求参数是否必填、请求参数示例、请求参数备注、返回数据名称、返回数据类型、返回数据是否必填、返回数据备注

开发人员提供的接口文档可能会多种多样,但是要查看主要内容是否缺失,如果主要内容缺失,需要让开发补齐缺失内容。

二、使用JMeter设计接口测试脚本

1、 配置好JMeter运行环境并启动JMeter

2、 新建线程组

测试计划右键à添加à线程(用户)à线程组

理解线程组:可以理解为一个线程为一个虚拟用户

3、 添加HTTP请求

在线程组右键——添加——取样器——HTTP请求

填写接口请求的内容

服务器名称或IP:指接口需要访问的项目目标地址(由开发提供),填写IP时不需要加“http://”, JMeter在运行这个接口的时候会自动拼接http

例如:wx.hx.com.cn  这个就算是我们的项目目标地址

端口号:如果开发提供的接口限定了固定的端口例如9090,那么这个地方就填写9090,如果没有限定固定的端口,就填写为空;

其中http的请求的端口默认为80,https的端口默认为443;http请求的端口可默认不填写,https请求的端口需要填写443

方法:根据接口协定进行选择,get或者post

路径:接口的具体路径,由接口路径+接口参数+接口参数值 组成

写法: servlet/json?funcNo=20970XX&i_channel_id=khlb-hcinvite

注意:参数与参数之间使用&,进行拼接;路径与参数之间使用?,进行拼接

Get请求的参数直接放到请求路径上面

4、 查看接口返回值

在线程组右键——添加——监听器——察看结果树

点击执行按钮,执行接口请求

请求结果:

请求成功:接口请求标题显示为绿色

请求失败:接口请求标题显示为红色

三、接口返回值分析

分析接口需要返回值

这个接口要求返回的目标值是:channel_id、bill_name、slogan、bill_path

分析接口返回值是否符合

{"error_info":"","dsName":["results"],"oldDsName":"DataSet","results":[{"bill_path":"http://192.168.11:8082/plat_files/upload/bill/20200511/202005111589166876961.png","bill_name":"邀请好友","slogan":"邀请好友","channel_id":"-1"}],"error_no":"0"}

比对两个值发现,我们的接口返回值里面有我们的目标值,那么这个接口就模拟成功了

JMeter发送get请求并分析返回结果的更多相关文章

  1. jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中

    有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求 ...

  2. Jmeter发送JDBC请求

    下午花了两个小时研究了一下Jmeter发送JDBC请求,现在把基本操作流程分享一下. 做JDBC请求,首先需要两个jar包:mysql驱动-mysql-connector-java-5.1.13-bi ...

  3. Jmeter发送Json请求

    jmeter发送的post请求,可以是json请求,和普通的post请求稍微有点区别,那么怎么用jmeter发送json请求呢? 首先要找一个json请求的例子,这个例子是携程网搜索机票, 网址为:h ...

  4. 使用jmeter发送put请求的三种方式

    之前在前公司使用jmeter调试接口时,由于都是get和post请求,所以一直是顺风顺水的,毫无阻拦在短时间内调试完所有接口. 但是呢,在换到新公司后,发现接口请求是多式多样的,get.post必须有 ...

  5. 使用fiddler抓取jmeter发送的请求

    使用jmeter发送请求时,有时需要查看发送的请求是否合理,可以使用fiddler更直观的抓取并查看jmeter发送的请求.步骤如下:1.设置fidder-connections 端口号为8888 2 ...

  6. Jmeter发送SOAP请求对WebService接口测试

    Jmeter发送SOAP请求对WebService接口测试 1.测试计划中添加一个用户自定义变量 2.HTTP信息头管理器,添加Content-Tpe,  application/soap+xml;c ...

  7. jmeter 发送加密请求 beanshell断言 线程组间传递参数

    原文地址https://www.cnblogs.com/wnfindbug/p/5817038.html 最近在做http加密接口,请求头的uid参数及body的请求json参数都经过加密再发送请求, ...

  8. 『动善时』JMeter基础 — 14、使用JMeter发送Post请求

    目录 1.Post请求参数类型说明 2.用于演示的项目说明 3.发送Post请求示例 (1)测试计划内包含的元件 (2)请求参数类型为x-www-form-urlencoded 4.请求参数form- ...

  9. Apache Jmeter发送post请求

    下面用Jmeter发送一个post请求, 对应的js代码如下: $("#register_a").click(function() { var name = $("#un ...

随机推荐

  1. 知道这两个 DOM 属性区别的,头发应该不多了吧?

    你可能知道,获取和设置 DOM 元素内部文本可以用这两个属性:Node.textContent 和 Element.innerText. 乍一看,它们似乎做着完全相同的事情,但它们之间有一些微妙但重要 ...

  2. 微信小程序:快速新增页面和组件的方法

    一.快速新增页面的方法: 1.在vscode中的app.json文件中的pages数组的第一行新增一个路径,如: 2.在微信开发者工具中的app.json中的新增一个空格,然后保存,就会生成一个新的页 ...

  3. Go benchmark 一清二楚

    前言 基准测试(benchmark)是 go testing 库提供的,用来度量程序性能,算法优劣的利器. 在日常生活中,我们使用速度 m/s(单位时间内物体移动的距离)大小来衡量一辆跑车的性能,同理 ...

  4. JPEG解码——(5)反量化和逆ZigZag变换

    本篇是该系列的第五篇,承接上篇huffman解码,介绍接下来的两个步骤--反量化和逆zigzag变换,即IDCT前的两个步骤. 需要说明的是,这两个步骤可以颠倒,本人的实现是,先反量化,再逆ZigZa ...

  5. brew安装Nginx

    目录 安装流程 常用命令记录 典型配置方式 查看启动状态是否有报错 php 启动 参考 安装流程 这里使用 brew 来安装软件. 安装 brew install nginx 查看安装信息(经常用到, ...

  6. MySQL索引由浅入深

    索引是SQL优化中最重要的手段之一,本文从基础到原理,带你深度掌握索引. 一.索引基础 1.什么是索引 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构,索引对于 ...

  7. PTA甲级—数学

    1.简单数学 1008 Elevator (20分) 模拟题 #include <cstdio> #include <cstring> #include <string& ...

  8. Hi3559AV100 NNIE开发(4)mobilefacenet.cfg参数配置挖坑解决与SVP_NNIE_Cnn实现分析

    前面随笔给出了NNIE开发的基本知识,下面几篇随笔将着重于Mobilefacenet NNIE开发,实现mobilefacenet.wk的chip版本,并在Hi3559AV100上实现mobilefa ...

  9. 【codeforces - 1307G】Cow and Exercise

    目录 description solution accepted code details description 给定 n 点 m 边简单有向图,有边权. q 次询问,每次给出 xi.可以增加某些边 ...

  10. java 递归求二叉树深度

    给定二叉树,找到它的最大深度. 最大深度是从根节点到最远叶节点的最长路径上的节点数. 注意:叶子是没有子节点的节点. Example: Given binary tree [3,9,20,null,n ...