在实际工作的过程中,我们通常需要模拟接口,来进行接口测试,我们可以通过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. net字符串倒置和冒泡排序

    using System;using System.Configuration;using System.Data;using System.Linq;using System.Web;using S ...

  2. @Transaction注解失效的几种场景

    一.@Transactional介绍 1.@Transactional注解可以作用于哪些地方? @Transactional 可以作用在接口.类.类方法上. 作用于类:表示所有该类的public方法都 ...

  3. Spring IoC - 循环依赖

    Spring 复习 3.循环依赖 3.1 定义 循环依赖指多个对象的创建过程中均需要注入对方对象,如下所示 class A{ B b; public A(){ } public A(B b){ thi ...

  4. 这是你没见过的不一样的redis

    转: 这是你没见过的不一样的redis 提到Redis,大家一定会想到的几个点是什么呢? 高并发,KV存储,内存数据库,丰富的数据结构,单线程(6版本之前) 那么,接下来,上面提到的这些,都会一一给大 ...

  5. Docker下FastDFS环境搭建

    本文使用docker进行搭建. #拉取镜像docker pull delron/fastdfs​#创建tracker容器docker create --network=host --name trac ...

  6. 不用代码趣讲 ZooKeeper 集群

    本文作者:HelloGitHub-老荀 Hi,这里是 HelloGitHub 推出的 HelloZooKeeper 系列,免费开源.有趣.入门级的 ZooKeeper 教程,面向有编程基础的新手. 项 ...

  7. java基础知识 + 常见面试题

    准备校招面试之Java篇 一. Java SE 部分 1.1 Java基础 1. 请你解释Object若不重写hashCode()的话,hashCode()如何计算出来的? Object 的 hash ...

  8. POJ-3436(网络流+最大流+输出路径)

    ACM Computer Factory POJ-3436 题目就是一个工厂n个加工机器,每个机器有一个效率w,q个材料入口,q个材料出口,每个口有三个数表示状态,1表示一定有入/出的材料,0表示没有 ...

  9. 内置了一个缓冲区(数组)缓冲流BufferInputStream为何要配合字节数组的使用?

    内置了一个缓冲区(数组)缓冲流BufferInputStream为何要配合字节数组的使用? 只为效率而积累[积少成多送一趟比送多趟快] 举例子:超市买30个鸡蛋回家煮 (1)读一个送一个(效率太低啦) ...

  10. 微信小程序应用开发-手动创建

    基础知识: index.wxml的代码为 Html,有很多标签,如等 index.wwss相当于css 即样式 index.js中有很多函数,可自定义 操作步骤: 删除app.json文件中page/ ...