Jmeter接口测试参数化

一、前言

接口测试组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性。

我们在测试过程中需要考虑不同的输入组合,来覆盖不同的测试范围;除此之外,系统中往往存在一些有唯一性校验的接口,不允许重复录入关键字段(eg: 用户名,身份证…),针对这些有唯一性校验的接口,需要在每次运行时动态输入不同的数据。

我们最常用的有以下几种

二、RandomString函数

作用:生成随机字符串

使用格式:${__RandomString(5,abcde,myResult)},其中

  1. 第一个参数5表示希望生成的字符串的长度,必填

  2. 第二个参数abcde,表示从这些字符中随机组合,非必填

  3. 第三个参数myResult,表示生成的字符串保存在这个变量中,非必填

图片

一般有三种用法:

  1. ${__RandomString(5)}

  2. ${__RandomString(5,abcde)}

  3. ${__RandomString(5,abcde,myResult)}

通过RandomString可以生成任意长度的指定字符集的字符串,除了生成随机字符串,还可以基于RandomString拼接扩展特定格式的字符串。

比如有些系统会校验手机号前三位,即可通过RandomString生成后8位数字,然后拼接满足需求的前三位数字组合。

图片

几乎可以实现接口单个请求参数的所有参数化工作,但在实际应用中,有时候不同请求参数有一定的关联性,此时无法通过RandomString来解决多请求参数之间的关联性问题,需要引入CSV组件来解决。

三、CSVRead函数

CSVRead函数适用于一组关联请求参数的场合。

比如要选择用户的收获地址,往往需要选择省->市->区,而省市区这三个请求参数之间有关联性,此时可以通过自定义一组满足关联性要求的数据,将其写入CSV文件,然后在Jmeter中通过CSV函数来读取CSV文件。

图片

Jmeter中通过函数助手可引入CSVRead函数的支持,它有两个参数:

  1. CSV File to get Values from: 需要读取的CSV文件

  2. CSV文件列号:从0开始

图片

CSVRead函数有一些局限性,CSVRead不可指定编码,跨系统调用时可能出现乱码;另外多次循环同一个请求时会重复读取第一行数据,只有当线程数设置为多个时,才会读取多行数据。

四、CSV Data Set Config配置元件

CSV Data Set Config 是CSVRead函数的升级版组件,它可以配置更多选项来控制读取的过程:

  1. Filename:这里要包括文件的路径,在4.0版本中可以点击右侧的浏览按钮选择文件,会自动带上文件的绝对路径;

  2. File Encoding:文件编码

  3. Variables Name:csv文件中各列的名字,有多列时用英文逗号隔开,列名的名字顺序需要和文件列名对应

  4. Delimiter:分隔符号,数据文件中有多个数据时,需要制定文件中的数据分隔符,一般使用的是英文逗号,如果要使用table制表符分隔,填写 \t

  5. Allow quoted data: 是否允许数据内容加引号,默认:FALSE;如果为TRUE,则当数据形式为:“username” 时,读取出来就为:username;如果为FALSE,有引号读取会报错。

  6. Recycle on EOF:到了文件尾是否循环,True—继续从文件第一行开始读取,False—不再循环

  7. Stop thread on EOF:到了文件尾是否停止线程,True—停止,False—不停止;

  8. Sharing mode:共享模式

图片

对于更复杂的参数化需求,可通过编码方式实现脚本,并通过Jar包的方式引入脚本支持。

学习资料/接口/项目等需要领取:需要+\/ →it7411

最新软件测试+进阶测试全套【自学资料包】

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈伟-GodGreat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值