Jmeter接口自动化实例(使用Beanshell保存csv文件、csv参数化、setUp线程组)

本文介绍了如何使用JMeter进行接口自动化测试,包括利用setUp线程组解决登录接口只需运行一次的问题,使用CSV数据文件进行参数化,以及通过Beanshell后置处理器保存接口响应结果到CSV文件,详细解析了每个步骤的操作方法和配置要点。
摘要由CSDN通过智能技术生成

很久没更新博客了,荒废了很久了,今天更新一下博客,主要记录一下子最近遇到的问题和解决方法:blonde_woman:

这篇文章主要记录的是jmeter批量跑接口中遇到的各种疑难,主要涉及到的问题如下

  1. 运行的接口有多个(>=2)其中有一个前提是必须登录才能进行其他接口的操作,但是登录不想每次都运行,该怎么解决呢,请往下看~
  2. 批量执行接口的过程中,需要不同的参数运行接口,使用到了csv参数化
  3. 接口结束之后,需要对响应结果中的一部分信息保留进行数据对比

进入正题,先来解决第一个问题,登录接口只需要运行一次即可,然后其他接口可以使用登录响应结果中的token值进行接口操作。这里jmeter提供了setUp线程可以解决这个问题。

首先在jmeter计划中添加一个线程setUp,把登录接口放置到setUp线程中,然后使用json提取器获取到token信息,并把token信息保存为jmeter变量,如图

298680-20190823164324790-2137870703.png

298680-20190823164423368-489097866.png

登录的响应结果信息如下

{
    "access_token":"dc1dcb1f-725e-4b17-9f47-e1d97477ba11",
    "token_type":"bearer",
    "refresh_token":"307cee12-973e-44af-8022-63949b2c3bd5",
    "expires_in":899,
    "scope":"READ WRITE"
}

这里主要使用json提取器来获取token的变量信息

298680-20190823164518012-1177356028.png

根据响应结果,使用json提取器,主要用$.access_token提取变量。

然后使用Beanshell后置处理器,将变量保存为jmeter系统变量,代码如下

${__setProperty(all_token,${access_token},false)}

如图
298680-20190823164542671-221761468.png

跨线程的其他线程组怎么使用这个变量access_token呢,可以使用http信息头管理器来实现,在http信息头管理器中,添加Authorization来实现,如图

298680-20190823164610080-1034048591.png

Authorization   Bearer ${__property(all_token,,)}

至此第一个问题已经解决了,那么接下来就是第二个接口的参数化操作了。

这里主要使用了csv进行参数化

csv文本参数信息如图

298680-20190823164621162-768260714.png

参数化文本已经准备好了,接下来就是在jmeter中添加csv数据文件设置,如图

298680-20190823164636325-1264237190.png

说明:

  1. 文件名称:参数化的csv文件

  2. 文件编码:默认可以不填,这里因为有中文,所以使用gb2312,可以根据实际情况设置utf-8或其他

  3. 变量名称:这里设置的变量名称在接口中会使用这个变量信息,所以一定要慎重

    298680-20190823164654257-468611177.png

如图上所标识,这里的变量名称必须一致。

到这里,已经完成了csv的参数化,那么我们如果获取响应的结果呢?

先来看一下相应的结果的结构是什么吧~

[
    {
        "properties":{
            "cal_name":"云耳",
            "e_type":"food",
            "end_index":12,
 
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值