如何基于 Swagger 使用 OpenAPI Generator生成 JMeter 腳本?

      網(wǎng)友投稿 1452 2025-03-31

      前言


      預(yù)備知識(shí)

      什么是 OpenAPI ?

      什么是 Swagger?

      為什么要使用 OpenAPI?

      前言

      預(yù)備知識(shí)

      什么是 OpenAPI ?

      什么是 Swagger?

      為什么要使用 OpenAPI?

      OpenAPI Generator

      小結(jié)

      前言

      作為性能工程師,我們花了大量的時(shí)間編寫(xiě)腳本。如果我們能找到一種能自動(dòng)生成腳本的方法,那將是一個(gè)提高的能效的好事情。

      在本文中,我演示解釋如何使用 Swagger & openapi-generator 生成用于 API 測(cè)試的 JMeter 腳本。

      預(yù)備知識(shí)

      我從 https://swagger.io/docs/specification/about/ 復(fù)制了以下內(nèi)容,其中解釋了什么是 Swagger / OpenAPI 規(guī)范。

      什么是 OpenAPI ?

      OpenAPI 規(guī)范(以前稱為 Swagger 規(guī)范)是 REST API 的 API 描述格式。OpenAPI 文件允許描述整個(gè) API,包括:

      可用端點(diǎn)(/users)和操作上的每個(gè)端點(diǎn)(GET /users,POST /users)

      操作參數(shù)每次操作的輸入和輸出

      認(rèn)證方式

      聯(lián)系信息,許可,使用條款和其他信息。

      API 規(guī)范可以用 YAML 或 JSON 編寫(xiě)。該格式易于學(xué)習(xí),并且對(duì)人和機(jī)器都可讀。

      什么是 Swagger?

      Swagger 是一套圍繞 OpenAPI 規(guī)范構(gòu)建的開(kāi)源工具,它可以幫助您設(shè)計(jì)、構(gòu)建、記錄和使用 REST api。主要的 Swagger 工具包括:

      Swagger Editor - 基于瀏覽器的編輯器,您可以編寫(xiě)OpenAPI規(guī)范。

      Swagger UI - 渲染 OpenAPI 規(guī)范作為交互式 API 文檔。

      Swagger Codegen - 一個(gè)模板驅(qū)動(dòng)引擎,根據(jù) OpenAPI 規(guī)范生成 stubs 和 客戶端代碼。

      為什么要使用 OpenAPI?

      API 描述其自身結(jié)構(gòu)的能力是 OpenAPI 中所有出色功能的根源。編寫(xiě)完成后,OpenAPI 規(guī)范和 Swagger 工具可以通過(guò)各種方式進(jìn)一步推動(dòng) API 開(kāi)發(fā):

      設(shè)計(jì)優(yōu)先的用戶:使用 Swagger Codegen 為你的 API 生成服務(wù)器 stub 。剩下的唯一事情就是實(shí)現(xiàn)服務(wù)器邏輯——你的API已經(jīng)準(zhǔn)備好了!

      使用 Swagger Codegen 以 40 多種語(yǔ)言為您的 API 生成客戶端庫(kù)。

      使用 Swagger UI 生成交互式 API 文檔,使您的用戶可以直接在瀏覽器中嘗試API調(diào)用。

      使用規(guī)范將與 API 相關(guān)的工具連接到您的 API。例如,將規(guī)范導(dǎo)入 SoapUI,以及您的 API 創(chuàng)建自動(dòng)化測(cè)試

      OpenAPI Generator

      Swagger 提供的客戶端生成功能可用于生成 JMeter 腳本。但是出于安全考慮,為此目的使用 Swagger Editor 并不是理想的選擇。Swagger 編輯器是一個(gè)托管解決方案

      我們可以在 https://openapi-generator.tech/docs/installation/ 下安裝 Swagger Code Gen 或 Open API Generator 客戶端。

      使用 Code Gen Jar 客戶端,您可以生成提供 API 規(guī)范的 JMeter 腳本,如以下命令所示:

      java -jar openapi-generator-cli-4.1.2.jar generate -i swagger.json -g jmeter

      我使用默認(rèn)的 Petstore API Swagger(官方demo) 規(guī)范生成了 JMeter腳本。

      官方提供的 demo 地址:http://petstore.swagger.io/

      java -jar openapi-generator-cli-4.3.1.jar generate -i https://petstore.swagger.io/v2/swagger.json -g jmeter

      如下所示:

      在目錄下生成以下內(nèi)容:

      我們使用 Jmeter 打開(kāi)其中一個(gè)腳本瞧瞧:

      如在上面看到的,代碼生成工具已成功生成 JMeter 腳本,用我們可以根據(jù)的項(xiàng)目要求輕松地對(duì)其進(jìn)行腳本增強(qiáng)。如果我們?nèi)ナ謩?dòng)準(zhǔn)備腳本,那可能要花很多時(shí)間。

      小結(jié)

      測(cè)試過(guò)程中要善于合理利用輪子,節(jié)省開(kāi)發(fā)時(shí)間,提高工作效率。

      相關(guān)資料:

      如何基于 Swagger 使用 OpenAPI Generator生成 JMeter 腳本?

      https://github.com/zuozewei/blog-example/tree/master/Performance-testing/01-test-tool/jmeter/openapi-generator-cli

      參考資料:

      [1]:https://swagger.io/docs/specification/about/

      [2]:https://github.com/OpenAPITools/openapi-generator

      Generator OpenAPI 壓力測(cè)試

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何在wps表格添加乘法公式(wpsexcel表格乘法公式)
      下一篇:Excel 根據(jù)某列對(duì)數(shù)據(jù)進(jìn)行匯總的l多級(jí)分類匯總使用介紹(excel函數(shù)公式大全)
      相關(guān)文章
      内射无码专区久久亚洲| 亚洲色大网站WWW永久网站| 亚洲综合一区国产精品| 亚洲精品在线不卡| 91亚洲国产成人精品下载| 久久久久无码精品亚洲日韩| 亚洲人精品午夜射精日韩| 亚洲区小说区图片区QVOD| 亚洲日本一区二区三区在线| 亚洲永久无码3D动漫一区| 亚洲中文字幕久久精品无码喷水 | 亚洲色偷偷偷综合网| 国产精品亚洲综合久久| 亚洲综合一区无码精品| 久久亚洲精品国产精品婷婷 | 精品亚洲综合久久中文字幕| 国产精品亚洲精品日韩已满| 亚洲精品国产成人片| 亚洲Av无码精品色午夜| 亚洲AV无码欧洲AV无码网站| 亚洲色四在线视频观看| 亚洲精品mv在线观看| 亚洲一区二区三区高清视频| 亚洲综合小说另类图片动图| 亚洲欧美成人av在线观看| 女bbbbxxxx另类亚洲| 亚洲中文字幕伊人久久无码| 亚洲码国产精品高潮在线| 亚洲av鲁丝一区二区三区| 7777久久亚洲中文字幕蜜桃| 亚洲一级片在线播放| 亚洲日本天堂在线| 亚洲?v无码国产在丝袜线观看| 亚洲国模精品一区| 亚洲精品无码久久久久| 久久久久久亚洲Av无码精品专口| 亚洲人成电影在线观看网| 亚洲AV无码一区二区一二区| 久久精品国产精品亚洲下载| 亚洲AV永久无码精品| 亚洲一卡二卡三卡四卡无卡麻豆|