在 http Load Testing 中,json 数据的提交是个让人头疼的问题。本文详细介绍如何进行 JMeter 的 json 测试提交,以及如何将其参数化。
Step 1 http json 请求采样器的录制
这个工具很多,可以使用 JMeter 代理录制,也可以使用 Badboy。该采样器录制好以后如下图所示:
Step 2 为该采样器添加 HTTP 信息管理器
鼠标右击该采样器,右键菜单选择 "添加" -> 配置元件 -> HTTP 信息头管理器,然后信息头添加一条名称为 Content-Type,值为 application/json 即可:
添加好 HTTP 信息管理器之后,选中该采样器,编辑其 Content encoding 为 UTF-8:
Step 3 为该采样器添加响应断言
比如请求返还的 json 串里,"status":0 代表处理成功,status 值为其他表示各种处理失败。那么鼠标右击该采样器,右键菜单选择 "添加" -> 断言 -> 响应断言,要测试的响应字段选中 "响应文本",模式匹配规则选中 "Substring",要测试的模式添加并编辑其内容为 "status":0。
Step 4 编辑采样器的 json 格式
选中该采样器,Parameters 叶项里复制该 json 串,然后点击 Body Data 叶项,粘贴该 json 串于其中的输入域中,最后调整 json 数据的展现格式如下图所示:
这时可以进行 http json 提交了,但是数据还都是写死的。那么怎么样把这些 json 数据参数化呢,就像其他非 json 提交的采样器一样?
Step 5 使用函数将 http json 数据参数化
像其他采样器一样使用函数助手生成一个引用字符串,比如 ${__Random(0,9,random_num_0_9)},它的作用是随机生成 0 - 9 之间的一个数字。
然后编辑 Body Data 里的 json 串里需要参数化的地方,使用 ${__Random(0,9,random_num_0_9)} 覆盖需要参数化的部分:
Step 6 使用 CSV Data Set Config 将 json 数据参数化
右键单击 Thread Group,右键菜单选择 "添加" -> 配置元件 -> CSV Data Set Config,Filename 输入 e:/defonds/work/20141105/json.txt(要使用绝对路径),Variable Names 输入 cityCode,cityName,subCategoryCode,subCategoryName,编辑 e:/defonds/work/20141105/json.txt 内容如下图所示:
最后编辑 Body Data 里的 json 串里需要参数化的地方,使用 ${cityCode} 等参数覆盖需要参数化的部分:
这时候你就可以使用参数化的 json 串进行压力测试啦:
- 浏览: 123094 次
- 性别:
- 来自: 上海
-
相关推荐
使用CSV文件可以实现参数化,用户可以通过右击线程组--添加--配置文件--csv数据文件设置,实现参数化。 五、总结 关联和参数化是Jmeter必备技能之一,必须掌握关联可以扩展到实现一些常见的业务场景,参数化可以...
4. **参数化**:用户参数元件可以用于简单的参数化,而CSV Data Set Config适合处理大量数据或复杂数据结构。 5. **时间参数**:可以使用`__time()`函数结合格式化(如`__timeShift()`)来生成当前时间参数。 6. **...
2. 使用CSV Data Set Config配置元件,设定文件名、编码格式和变量名,将文件内容引入到测试脚本中。 **关联(提取数据):** 1. 正则表达式提取器:通过正则表达式从响应中提取所需值,设置引用名称、正则表达式、...
其中接口测试的简单操作包括做 HTTP 脚本(发 GET/POST 请求、加 Cookie、加 Header、加权限认证、上传文件)、做 WebService 脚本、参数化、断言、关联(正则表达式提取器和处理 JSON-JSON Path Extractor)和 ...
JMeter提供多种参数化工具,如CSV Data Set Config,可以从CSV文件中读取数据,为每次迭代提供不同的输入值。此外,还可以使用属性变量、用户定义的变量或函数助手对话框来实现更复杂的参数化策略。参数化有助于提高...
例如,CSV Data Set Config可以从CSV文件中读取数据,用在动态参数化测试中。 5. **定时器** 定时器可以控制每个请求之间的时间间隔,模拟真实用户的操作延迟。常见的定时器有固定延迟定时器、均匀随机定时器等。 ...
2. 参数化:使用CSV Data Set Config或者函数助手对话框,可以将静态值替换为动态输入,实现数据驱动测试,增加测试的覆盖率和真实性。 3. 正则表达式提取器:用于从服务器响应中提取信息,例如Session ID或验证码,...
JMeter支持CSV Data Set Config,可以读取数据文件,用于参数化请求。这份文档将详细解释如何设置和使用数据驱动测试。 5. **Jmeter-HTTP请求之content-type.docx**: 在进行HTTP请求时,Content-Type头非常重要,...
CSV数据文件常用于参数化测试,可以为每个请求提供不同的输入值。在Jmeter中,首先创建CSV文件,然后添加“CSV Data Set Config”配置元件,设置相关参数,如文件路径、变量名等。在Sampler中使用`${var}`引用CSV...
2. **参数化测试**:使用CSV Data Set Config或函数助手,实现接口请求参数的动态化,进行多轮测试。 3. **响应验证**:通过断言组件(如响应断言、JSON Path断言)验证接口返回数据的正确性。 4. **数据提取**:...
- 参数化设置:通过CSV Data Set Config等组件动态传递参数。 - 断言验证:确保返回的数据格式正确无误。 - 负载测试:逐渐增加并发用户数量,观察系统表现。 #### 五、性能调优与问题排查 - **调优策略**: -...
8. **变量和函数**:JMeter支持使用变量和函数来动态地创建测试计划,增强了测试的灵活性和复用性。 9. **测试计划录制和回放**:JMeter的代理服务器功能可以记录真实用户的浏览器行为,生成测试脚本,然后在后续的...
5. **参数化**:对于动态参数,可以使用用户定义的变量、函数生成器或读取文件。例如,通过CSV Data Set Config配置元件从文件读取数据,实现参数的随机化或多样化。 6. **断言**:断言用于验证响应结果是否符合...
- **从 txt 取数,在请求中中文乱码**:确保数据文件和 JMeter 都使用相同的编码。 **10.6 CSV 使用技巧** - **技巧**: - **csv 中发现取值不完整**:检查 CSV 文件的格式。 - **从 csv 中获取带引号的数据和...
对于需要动态数据的场景,可以使用CSV Data Set Config或者JMeter的内置函数来提供参数。 为了验证API响应,可以添加响应断言,例如断言响应状态码是否为200,或者响应体是否包含预期的数据。监听器如聚合报告、...
使用Python编写代码,我们可以自由地实现任何我们需要的功能,如参数化、数据驱动,支持多种数据格式(JSON、CSV、Excel、YAML等),并能进行复杂的断言检查,包括条数、正确性和准确性。 2. Python接口自动化框架...
【知识点详解】 1. 软件测试行业经历:面试者提到自己... - 使用CSV数据文件 - 函数生成器配合实现参数化 以上就是面试中涉及的软件测试相关知识点,涵盖了个人技能、项目经验、测试流程、接口测试方法等多个方面。
15. 配置元件之CSV Data Set Config参数化? ?16. 函数助手参数化??17. HTTP请求之xml格式数据请求??18. HTTP请求之json格式数据请求? ?19. 配置元件之HTTP信息头管理器??20. 配置元件之HTTP Cookie管理器? ?21. 前置...
- **参数化**:支持多种方式,如CSV数据文件驱动、函数助手等。 - **线程组作用**:控制并发用户数量。 - **正则表达式**:用于提取响应中的关键信息。 - **函数使用**:如__int、__time等内置函数。 - **测试...