Jmeter接口自动化参数化 (转自软件测试部落)

测试场景:

        有个查询城市(大概一百个 )天气预报的接口(需求参考第一课),需要根据不同的citycode,去查询对应城市的天气预报,这种接口该如何去测试呢?

分析需求:

       不管是功能测试需求,还是接口测试需求,首先要先学会分析需求,然后设计测试用例。对于上面的一百多个城市天气预报,小伙伴们是如何设计用例的呢?

       一百多个城市的天气预报,我不可能一个个去手工测,一是比较耗时间,二是重复劳动。就算你这次一口气测了一百多个,下次版本更新,你做回归测试也得重新测。(也许你会偷懒,只测两三个,但是做测试不要抱侥幸心理,说不定100个功能你测了N变都是正常的,突然有一天你只测了99个,然后上线了,发现就是漏的那个出了问题,嘿嘿~)

       那么对于这种接口不变,只是改下请求参数的测试,我们可以考虑引入参数化到概念,很显然jmeter这款工具非常人性化的,也支持多种参数化设计,接下来就详细介绍下,如何使用jmeter参数化做接口自动化。

其实参数化只需简单七步就能搞定

  1. 准备数据

  2. 配置原件

  3. 定义参数

  4. 设置参数

  5. 引用参数

  6. 编码格式

  7. 执行用例

第一步:数据准备

 

备注:线程总数为10,总时间为10,说明每一秒启动一个线程,一秒执行一次用例

第二步:测试计划-添加-配置原件-CSV Data Set Config

第三步:设置界面填入对应参数

  1. Filename:填写文件的完整路径(当数据文件在bin目录下时,只需给出文件名即可)

  2. File encoding:文件编码格式

  3. Variable Name:变量的名称(多个变量中间用英文符号隔开)

  4. Virable Names中填写变量名,如果数据文件中有多个变量,则用符号隔开

其它的设置(有需求的自己可以尝试下)

  • Allow Quoated data: 双引号相关

  • Recycle on EOF: 设置为True后,允许循环取值

  • Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行

  • Sharing Mode: 设置是否线程共享

第四步:填入对应参数后如下图所示

符号保持一致,并且都英文的符号

第五步:引用设置的参数

这里设置了两个参数,第一个地方是请求路径里面,将citycode参数化了,第二个地方是断言里面,将城市参数化了

1.讲请求路径里面的citycode换成:${citycode}

2.将断言里面的城市名称,换成:${city}

第六步:编码格式保持一致

windows系统默认的编码是ANSI,如果是linux系统,试试用utf-8格式了。

原文地址:https://www.cnblogs.com/gqhwk/p/5396382.html