zoukankan      html  css  js  c++  java
  • 使用JMeter进行API功能测试

    使用JMeter进行API功能测试

    Apache JMeter是一种流行的开源软件,用于性能测试。

    在本博客中,我们将阐明如何使用JMeter for REST API自动化进行功能测试。

    我们使用了https://reqres.in/site中的示例API ,其中列出了可用于测试的多个真实API。我们选择了用户管理API,可以注册用户,登录用户,列出所有用户,创建用户,更新用户删除用户

    列出用于此测试脚本的API:

    /api/users?page=2

    /api/users/2

    /api/register

    /api/login

    使用JMeter,我们考虑了以下示例REST端点:           

    • 使用HTTP POST添加新用户。
    • 使用HTTP GET检索所有用户的列表。
    • 使用HTTP PUT更新新添加的用户。
    • 使用HTTP DELETE删除添加的用户。

    步骤1创建新的测试计划 - >右键单击 - >添加 - >线程 - >线程组

    1. 将线程数(用户)设置为10 - 我们将有10个用户执行测试计划。
    2. 将Ramp-up周期(以秒为单位)设置为10 - Ramp-up周期告诉JMeter在处理下一个用户之前的延迟时间。
    3. 将循环计数设置为10 - 执行测试的次数。

    注意:逻辑控制器确定执行用户请求的顺序。简单控制器只是用户请求的容器。

    第2步:  线程组 - >右键单击 - >添加 - >逻辑控制器 - >简单控制器

    第3步:  简单控制器 - >右键单击 - >添加 - >采样器 - > Http采样器请求

    POST方法

    POST请求用于在数据源中创建新记录。

    添加新用户

    步骤1:创建POST方法请求,以使用两个参数(电子邮件和密码)注册新用户,并将其重命名为“注册成功”。

    • 输入协议为“https”,IP地址为“reqres.in”。
    • 选择方法为“POST”。
    • 输入API路径。同样,我们可以成功登录并使用“POST”方法创建用户。

    • 名称:发布项目
    • 方法:POST
    • 正文数据:JSON项目对象

    在响应断言中添加要测试的模式

    第2步 :  创建文本文件并将参数保存在该文件中。Jmeter动态使用CSV数据存储多个数据对象,更新数据值等。

    第3步:  线程组→添加Http头管理器

    添加内容类型和令牌

    第4步保存并运行注册成功测试用例。

    步骤5  :  Threadgroup-> Add-> Listener-> View Results Tree

    GET方法

    GET方法用于检索数据源中的信息。

    检索所有用户的列表。

    第1步:简单控制器 - >右键单击 - >添加 - >另一个采样器 - > Http采样器请求

    • 添加另一个HTTP采样器请求。
    • 输入协议为“https”,IP地址为“reqres.in”。
    • 选择方法为“GET”。
    • 输入列表用户的API路径。

    • 路径:/ users / $ {userId}
    • 方法:GET

    第2步Listusers->右键单击 - >添加 - >断言 - >响应断言

    第3步:  列表用户→添加 - >监听器

    • 保存并运行“listusers”测试用例。
    • 查看列出所有用户的响应数据。

    PUT方法用于更新数据源中的现有记录。

    更新添加的用户。

    第1步:简单控制器 - >右键单击 - >添加 - >另一个采样器 - > Http Request Sampler

    • 添加另一个HTTP请求采样器并将其命名为“updateusers”。
    • 将方法设置为“PUT”。
    • 输入协议为“https”,ip地址为“reqres.in”。
    • 输入API路径。
    • 将用户的详细信息添加为正文数据。

    第2步值直接传递到帖子数据。

    步骤3:  更新用户 - >添加 - >断言 - >响应断言

    第4步保存并运行“updateusers”测试用例。 查看更新用户的响应数据。

    删除方法

    DELETE请求用于删除数据源中的现有记录。

    从列表中删除用户。

    第1步:简单控制器 - >右键单击 - >添加 - >另一个采样器 - > Http请求采样器:

    • 添加另一个HTTP请求采样器并将其命名为“deleteusers”。
    • 将方法设置为“DELETE”。
    • 输入协议为“https”,IP地址为“reqres.in”。
    • 输入API路径。
    • 将用户的详细信息添加为正文数据。

    步骤2:  删除用户 - >添加 - >断言 - >响应断言

    第3步 :  保存并运行“Deleteusers”测试用例。查看已删除用户的响应数据。

    最后,我们可以添加不同的监听器,如“查看结果树”来结束。要添加,请右键单击并选择“侦听器”→“查看结果树”。

    在这里,您可以看到每个测试用例的每个样本请求的请求和响应数据。

    作为一个例子,我们为下面的一个负面测试用例编写了脚本:

    注册失败

    第1步:简单控制器 - >右键单击 - >添加 - >另一个采样器 - > Http采样器请求:

    • 添加另一个HTTP请求采样器并将其命名为“Register unsuccess”。
    • 将方法设置为“POST”。
    • 输入协议为“https”,IP地址为“reqres.in”。
    • 输入API路径。
    • 在POST正文数据中添加用户的详细信息。

    步骤2:注册 失败 - >添加 - >断言 - >响应断言

    步骤3:  保存并运行“register unsuccess”测试用例。查看注册失败用户的响应数据。

    来自视图结果的响应代码来自视图结果的响应数据

    上述脚本的摘要报告。

    断言结果

    JMeter中提供了各种报告。我们可以根据项目的需要使用它们。

  • 相关阅读:
    Luogu P3731 [HAOI2017]新型城市化
    Luogu P3227 [HNOI2013]切糕 最小割
    Luogu P1654 OSU!
    CF235B Let's Play Osu! 期望dp
    Luogu P2057 [SHOI2007]善意的投票
    任意模数NTT学习笔记
    Burnside引理的感性证明
    JLOI2015 城池攻占
    BZOJ2957 楼房重建
    NOI2009 区间
  • 原文地址:https://www.cnblogs.com/a00ium/p/10386751.html
Copyright © 2011-2022 走看看