我为不同的 API 生成了 JMeter (JMX),并且我得到了它的工作,尽管有一些问题和警告。
首先它生成
- 在主机、端口、testCases、csvFileName 中替换的用户定义变量
- 每个 API 一个 JMX
- 每个方法的线程组(POST、GET、..)
- 每个线程组一个 HTTP 标头管理器,空白但在其中很有用。
- 每个请求的 HTTP 采样器
- 加载 CSV 数据以填充参数值
- 在 CSV 文件中定义的错误代码上验证的 HTTP 状态断言
注意事项和问题
有效的示例 Swagger
以下是我使用的Swagger 文件(从 echo 修改)和生成的(对参数进行修改)JMX。我已经使用RedLine13 Example Test测试了这个JMX,并根据需要传递了参数。传入参数
-JtestCases=50
-Jhost=mazimi-prod.apigee.net
-Jport=80
这是示例 Yaml
---
swagger: '2.0'
info:
version: 1.0.0
title: Echo
description: |
#### Echos back every URL, method, parameter and header
Feel free to make a path or an operation and use **Try Operation** to test it. The echo server will
render back everything.
schemes:
- http
host: mazimi-prod.apigee.net
basePath: /echo
paths:
/{id}:
get:
parameters:
- name: id
in: path
description: ID
type: string
required: true
- name: user
in: query
description: name
type: string
required: true
- name: location
in: query
description: location
type: string
required: true
responses:
200:
description: Echo GET
更新了 Swagger CodeGen 中的 JMEter 模板
由于在 SwaggerCode Gen 中无缝完成这项工作存在一些问题,因此我创建了一个问题和拉取请求。如果您需要尽快使用它,请在此处使用分叉https://github.com/richardfriedman/swagger-codegen/commit/5aff601eaccf67ec44bb681816d40a25e5aa20a3