欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Mock工具wiremock-py-創(chuàng)新互聯(lián)

作者 | 咪咪

創(chuàng)新互聯(lián)公司為您提適合企業(yè)的網(wǎng)站設計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強的網(wǎng)絡競爭力!結合企業(yè)自身,進行網(wǎng)站設計及把握,最后結合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都做網(wǎng)站、網(wǎng)站建設、外貿(mào)營銷網(wǎng)站建設, 我們的網(wǎng)頁設計師為您提供的解決方案。

wiremock-py

wiremock-py 是基于 WireMock 實現(xiàn)的, 使用 Python 批量生成不同測試場景下不同HTTP API 的 mock 數(shù)據(jù), 然后作為 mock server 快速全面地對 API 進行測試。

背景

在數(shù)瀾地產(chǎn)應用的前端測試中, 前端一般依賴于后端的數(shù)據(jù), 前端通過后端在網(wǎng)關上發(fā)布的 HTTP API 獲取數(shù)據(jù). 要對前端進行充分的測試, 理想的做法是, 等待后端部署完成, 并且在數(shù)據(jù)層直接輸入不同類型的數(shù)據(jù)源, 然后前端直接調(diào)用后端發(fā)布在網(wǎng)關上的 API 進行測試。

然而現(xiàn)實的情況是, 前端和后端的開發(fā)進度不完全一致, 如果前端先開發(fā)完成了, 必須要等后端對應的 API 開發(fā)完成后才能開始測試, 而且數(shù)據(jù)層的數(shù)據(jù)也不容易構造。

為了解決這個問題, 網(wǎng)關平臺做了簡單的 mock 功能, 每個 API 可以填寫一個 mock數(shù)據(jù), 然后前端調(diào)用 API 時直接使用這個 mock數(shù)據(jù):

Mock工具wiremock-py

這種方式下, 網(wǎng)關充當了mock server:

Mock工具wiremock-py

但由于大家都使用同一個網(wǎng)關, 一個 API 只能保存一份 mock 數(shù)據(jù), 所以有以下一些缺點:

  • 不同的測試場景需要不同的 mock 數(shù)據(jù)來測試, 此時需要刪掉上個測試場景的 mock 數(shù)據(jù), 再創(chuàng)建新場景的 mock 數(shù)據(jù)才能進行測試

  • 不能根據(jù)測試場景來按照一定的規(guī)則動態(tài)生成 API 對應的 mock 數(shù)據(jù)

  • 不能多人同時使用測試同一個 API時, 只能都使用同一份 mock 數(shù)據(jù), 不能各用各的

wiremock-py 可以解決上述這些問題: wiremock-py 通過傳入不同的測試場景參數(shù)來生成不同的 mock 數(shù)據(jù), 同時不同測試場景下使用的 mock 數(shù)據(jù)可以保存起來; 生成 mock 數(shù)據(jù)時, wiremock-py 支持使用Python和js代碼來動態(tài)生成 mock 數(shù)據(jù)(也支持直接使用 json 數(shù)據(jù), 如果 mock 數(shù)據(jù)中的數(shù)據(jù)量很大, 人工手寫 mock 時的數(shù)據(jù)量會很大, 使用代碼生成則比較容易); 不同的測試人員使用各自自己的 mock server, 不會影響到其他測試人員的測試。

Mock工具wiremock-py

測試人員需要做的是: 確定哪些 API 需要進行 mock 以及不同測試場景下對應的 mock 規(guī)則是什么。

依賴環(huán)境

Java 1.8.0_144

Node v8.6.0

Python 3.4.3

演示

快速開始

以貿(mào)數(shù)v1.1.0版本 測試環(huán)境為例演示使用 wiremock-py 對樓層客流分布和店鋪客流分布兩張圖分布在3種場景下的測試方法

先確定本地瀏覽器能過正常訪問 http://mall-data.com:9012

準備

克隆代碼

git clone http://git.dtwave-inc.com:30000/baomi.wbm/wiremock-py.git

安裝依賴

cd wiremock-py

pip install -r requirements.txt

npm install mockjs

生成目錄

python mock.py -g "demo"

? wiremock-py git:(master)? python mock.py -g "demo"

DEBUG:root:mockdir=, scene=, target=, proxy_port=5506, generate=demo, wiremock=False, rewrite=False

DEBUG:root:正在生成目錄 /Users/wangbaomi/autotest/wiremock-py/demo

DEBUG:root:創(chuàng)建目錄成功: demo

DEBUG:root:創(chuàng)建目錄成功: demo/js

DEBUG:root:創(chuàng)建目錄成功: demo/json

DEBUG:root:創(chuàng)建目錄成功: demo/python

DEBUG:root:創(chuàng)建目錄成功: demo/wiremock

DEBUG:root:創(chuàng)建文件成功: demo/mappings.json

DEBUG:root:生成目錄完成: /Users/wangbaomi/autotest/wiremock-py/demo

填寫 mappings.json、json、python、js 數(shù)據(jù)

mappings.json 中填寫內(nèi)容:

[

{

    "response": {

        "default": {

            "proxyBaseUrl": "target"

}

},

    "mapping_name": "request url not start with /api",

    "request": {

        "method": "ANY",

        "urlPattern": "/(?!api).*"

    }

},

{

    "mapping_name": "樓層客流分布",

    "request": {

        "urlPattern": "/api/v1/mall_data/customer_flow/every_floor\\?(.*)",

        "method": "POST"

    },

    "response": {

        "default": {

            "proxyBaseUrl": "target"

        },

        "測試場景1": {

            "bodyFileName": {

                "json": "樓層客流分布.json"

            }

        },

        "測試場景2": {

            "bodyFileName": {

                "python": "樓層客流分布.py",

                "python_args": "測試場景2"

            }

        },

        "測試場景3": {

            "bodyFileName": {

                "js": "樓層客流分布.js"

            }

        }

    }

},

{

    "mapping_name": "店鋪客流分布",

    "request": {

        "urlPattern": "/api/v1/mall_data/customer_flow/every_shop\\?(.*)",

        "method": "POST"

    },

    "response": {

        "default": {

            "proxyBaseUrl": "target"

        },

        "測試場景1": {

            "bodyFileName": {

                "js": "店鋪客流分布.js"

            }

        },

        "測試場景2": {

            "bodyFileName": {

                "json": "店鋪客流分布.json"

            }

        },

        "測試場景3": {

            "bodyFileName": {

                "python": "店鋪客流分布.py",

                "python_args": "測試場景3"

            }

        }

    }

}

]

js 文件夾中新建店鋪客流分布.js文件, 內(nèi)容為:

var r = {
"success": true,
"code": null,
"message": null,
"content": {
"meta": {},

"multi": {

  "group": [

    {

      "id": "rank",

      "name": "排名",

      "value": [

        1,

        2,

        3,

        4

      ]

    }

  ],

  "result": [

    {

      "id": "the_shop",

      "name": "店鋪",

      "value": [

        "店鋪1",

        "店鋪2",

        "店鋪3",

        "第4個店鋪"

      ]

    },

    {

      "id": "customer_count",

      "name": "人數(shù)",

      "value": [

        10,

        100,

        1000,

        3242

      ]

    }

  ]

},

"single": []
}

};

console.log(JSON.stringify(r));

js 文件夾中新建樓層客流分布.js文件, 內(nèi)容為:

var r = {

"success": true,

"code": null,

"message": null,

"content": {"meta": {},

"multi": {

  "group": [

    {

      "id": "the_floor",

      "name": "樓層",

      "value": [

        "-1樓",

        "1樓",

        "2樓",

        "3樓",

      ]

    }

  ],

  "result": [

    {

      "id": "customer_count",

      "name": "人數(shù)",

      "value": [

        100,

        1000,

        5000,

        567

      ]

    }

  ]

},

"single": []
}

};

console.log(JSON.stringify(r));

json 文件夾中新建店鋪客流分布.json, 內(nèi)容為:

{

"success": true,

"code": null,

"message": null,

"content": {
"meta": {},
"multi": {

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章題目:Mock工具wiremock-py-創(chuàng)新互聯(lián)
鏈接地址:http://aaarwkj.com/article6/ihdig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、做網(wǎng)站、定制開發(fā)、品牌網(wǎng)站制作面包屑導航、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
一区二区三区乱码av| av熟女一区二区三区| 亚洲av色网在线观看| 日韩黄色精品中文视频| 亚洲五月综合激情综合久久| 日本的黄色录像一级带| av天堂高清在线观看| 久久精品国产亚洲av热老太| 黄色亚洲日本欧美在线观看| 欧美日韩一区二区三区四区高清视频| 亚洲中文字幕av天堂久久| av天堂高清在线观看| 国产精品免费视频能看的| 色偷拍亚洲偷自拍二区| 18岁下禁止看的视频| 加藤桃香中文字幕在线| 92午夜福利在线视频| 中文字幕精品人妻在线| 插入内射视频在线观看| 男人天堂插插综合搜索| 久久精品国产亚洲av高清不卡| 黄色三级视频一区二区三区| 男女生做刺激性视频网站| 伊人激情一区二区三区| 成人在线观看一区二区三区| 国产精品成人一区二区艾草| 一区二区三区中文在线播放| 中文字幕日本人妻少妇| 高清免费欧美大片在线观看| 亚洲精品一级二级三级| 国产传媒剧情剧资源网站| 国产一区二区毛多内射| 国产精品麻豆色哟哟av| 日本又色又爽又黄的观看| 日韩特级黄片在线免费观看| 99久久免费看国产精品| 后入动漫视频在线观看| 成人午夜欧美熟妇小视频| 亚洲中文字幕精品一区二区三区| 精品亚洲欧美日韩国产| 一区二区五区日韩国产|