我从一个swagger定义生成Jmeter的jmx文件,生成的JMX和测试数据CSV似乎没用,它没有关于API期望的参数信息,没有响应映射的http状态代码信息等。
您可以使用任何定义文件来重现:
我所期望的是具有API整个框架的JMX,以便QA人员不必担心这一点,只关注测试。
我为其他语言/工具生产的所有客户都足够好,除了Jmeter,我在这里做错了吗?
答案 0 :(得分:7)
我为不同的API生成了JMeter(JMX)并且我开始使用它,虽然有一些问题和警告。
首先生成
警告和问题
循环计数由变量testCases控制。但是,如果你想通过命令行传入这个错误,那么JMeter的swagger-code-gen模板就有一个错误
GET参数填充0而不是$ {variable_name},这来自swagger codegen中的template。我已经测试了我的叉子中的修复程序。另一种选择只是将其修复在JMX文件中 原版的 编辑参数后
有效的Swagger示例
以下是我使用的Swagger file(从echo修改)和生成的(对参数进行了修改)JMX。我使用JMX对此RedLine13 Example Test进行了测试,并根据需要传递参数。传递参数
-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中使这项工作无缝存在一些问题,我创建了一个issue and pull request。如果你需要尽快使用叉子https://github.com/richardfriedman/swagger-codegen/commit/5aff601eaccf67ec44bb681816d40a25e5aa20a3