首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swagger测试数据模板

Swagger测试数据模板
EN

Stack Overflow用户
提问于 2016-09-14 04:34:25
回答 1查看 7.5K关注 0票数 7

我正在从一个挥霍无度的定义生成Jmeter的jmx文件,生成的JMX和测试数据CSV似乎毫无用处,它没有API所期望的参数信息,也没有响应映射信息的http状态代码等等。

您可以使用任何定义文件,以复制以下内容:

  1. 转到http://editor.swagger.io/#/
  2. 从“文件”菜单中打开任何示例
  3. 在“生成客户端”菜单中,单击“计量器”。

我所期望的是一个带有整个API框架的JMX,这样QA人员就不必担心这个问题,而只关注测试。

我为其他语言/工具生产的所有客户端都足够好,除了Jmeter之外,我在这里做了什么错事吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-14 16:32:47

我为不同的API生成了JMeter (JMX),并使其正常工作,尽管有一些问题和注意事项。

首先生成

  • 在主机、端口、testCases、csvFileName中替换用户定义的变量
  • 每个API的JMX
  • 每个方法的线程组(POST,GET,.)
  • 每个线程组都有一个HTTP报头管理器,为空,但在其中有用。
  • 每个请求的HTTP示例
  • 填充参数值的CSV数据加载
  • 在CSV文件中定义的错误代码上验证的HTTP状态断言。

警告和发布

  • 它不会阻止您的主机配置,而是用本地主机替换。您必须更改它或通过命令行传递它。
  • 它使用默认端口8080,这也给我带来了一些痛苦。
  • 循环计数由变量testCases控制。但是,如果您想通过命令行传递此模板,则JMeter的swagger-code-gen模板中有一个bug。
代码语言:javascript
复制
- testCases variable has a bug in the template it defines testCases as ${\_\_P(host,10)} but it should be ${\_\_P(testCases,10)} 

  • GET参数是用0填充的,而不是${variable_name},这是模板中的swagger码元。我在我的叉子上做了个修正,我测试过了。另一种选择是修复JMX文件原版中的

编辑后的参数

示例Swagger工作

下面是我使用的昂格格文件 (从echo修改)和生成的JMX (对参数进行修改)。我已经使用JMX测试了这个RedLine13示例测试,并根据需要传递了参数。传入参数

代码语言:javascript
复制
-JtestCases=50 
-Jhost=mazimi-prod.apigee.net 
-Jport=80

下面是Yaml的例子

代码语言:javascript
复制
---
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中实现无缝工作存在一些问题,所以我创建了一个发出和拉动请求。如果您需要更早地使用它,分叉就在这里,https://github.com/richardfriedman/swagger-codegen/commit/5aff601eaccf67ec44bb681816d40a25e5aa20a3

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39482537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档