創(chuàng)建API Expectation
API 服器功能描述:
1. API服務(wù)器接收一個對用戶列表的 get()請求
2. 以Json 文件格式返回對應(yīng)的用戶列表
目標(biāo)明確了,現(xiàn)在需要做的就是:
01 準(zhǔn)備數(shù)據(jù)
創(chuàng)建一個json文件,存放用戶列表。這里只是為了學(xué)習(xí),所以數(shù)據(jù)準(zhǔn)備的并不復(fù)雜。
02 創(chuàng)建Expectation
Expectation的意思就是告訴服務(wù)器當(dāng)接收到請求時,響應(yīng)相關(guān)的數(shù)據(jù)。通過Expectation定義相關(guān)請求的規(guī)則,與響應(yīng)的規(guī)則。
比如:本例中當(dāng)請求userList鏈接 get()方法時,就返回以Json格式的用戶列表。
注意:這里的用戶列表我們單獨(dú)放在一個Json文件里,以方法getPayloadString() 讀取后作為變量被Expectation調(diào)用。
目的主要讓代碼變得簡潔、易讀。數(shù)據(jù)存放在文件里也方便測試的修改與維護(hù)。
配置Rest-Assured
在pom文件里,配置Rest-Assured的dependency。
啟動Mock Server
創(chuàng)建MockServerTest文件,在測試用例執(zhí)行之前,需要先啟動Mock Server:
@BeforeTest:這里用的是TestNg的配置方法,是在單個測試用例之前先運(yùn)行方法startMockServer()。
StartClientAndServer(10800):啟動本地Mock Server,端口10800。
測試場景
01 創(chuàng)建測試場景
依據(jù)Expectation定義的規(guī)則,服務(wù)器啟動設(shè)置后,當(dāng)用戶請求“http://localhost:10800/userList”,API Mock Server返回以Json格式的用戶列表 。
示例中驗證了:
響應(yīng)代碼:200
響應(yīng)格式:json
期待返回的用戶列表中有”hujy@gmail.com”:這是一個錯誤的期待,因為我們準(zhǔn)備的用戶列表里沒有這個期待的字符串。
02 運(yùn)行測試
運(yùn)行測試以后,從結(jié)果中我們可以看到測試是失敗的。從運(yùn)行的 log中看出:
Request URI是測試用例的請求:http://localhost:10800/userList
響應(yīng)代碼:200
響應(yīng)格式:json
失敗的原因:期待字符不存在返回的用戶列表里
Mock Server UI監(jiān)控
01 等待語句
現(xiàn)在我們在上面的測試用例中加一條等待語句 Thread.sleep(1000000)。
這里主要以學(xué)習(xí)為目的,最好給的等待久一點(diǎn)。我們詳細(xì)看一下Mock Server的日志。
02 運(yùn)行測試
這次運(yùn)行測試,在執(zhí)行完第一條打印語句以后,程序一直處于運(yùn)行狀態(tài)。
03 訪問Mock Server UI
通過瀏覽器訪問:http://localhost:10800/mockserver/dashboard
Mock Server Dashboard顯示如下:
Log Messages:當(dāng)前mock server的進(jìn)程列表
Active Expectations:當(dāng)前可以訪問的Expectations列表
Received Requests:當(dāng)前服務(wù)器接受到請求列表
Proxied Requests:當(dāng)前服務(wù)器已被代理的請求列表
04 Log分析
通過點(diǎn)擊creating expectation旁邊的展開符號,可以詳細(xì)的看到剛才準(zhǔn)備的expectation的規(guī)則與響應(yīng)。
Received與Response分析
示例一:
01 發(fā)送Positive Request通過Jmeter
現(xiàn)在我們發(fā)送一個正確的請求通過Jmeter,如圖所示:Jmeter中會返回響應(yīng)的用戶列表。
02 刷新Mock Server Dashboard頁面
記錄Request Received會同時出現(xiàn)在Log Messages、 Received Requests列表里,通過展開記錄可以詳細(xì)看到Request 與Response。
示例二:
01 發(fā)送一個Negative Reqeust請求通過Jmeter(注:Request Path: /userListError)。
給出這樣一個沒有對應(yīng)Expectation的請求時,Mock Server會返回響應(yīng)代碼404。
02 刷新Mock Server Dashboard,Received Requests里顯示了接受到的請求。
但是在Log Messages里可以看NO_MATCH_RESPONSE的記錄。展開可以看到Request 與Response的詳細(xì)信息。
結(jié)語
這次主要是介紹Mock Server與Maven集成做API自動化測試的示例,以供大家參考。
另外Mock Server支持其它配置方式,如:?Docker 、獨(dú)立服務(wù)器等以適應(yīng)各種不同測試環(huán)境下的要求。Mock Server Dashboard隨時記錄下Request 與Response信息,是很好的調(diào)試工具。
但是,Mock Sever也并不是萬能的,比如Mock Server 沒有自己的數(shù)據(jù)庫,也就是指所有的Expectations都是存儲在內(nèi)存的,因此要求動態(tài)數(shù)據(jù)的場景,相比較有自帶數(shù)據(jù)庫的API Server,Mock Server 就有點(diǎn)差強(qiáng)人意了。
總之,一切要以實際測試環(huán)境為依據(jù),每一個工具都有優(yōu)點(diǎn)與缺點(diǎn)。
我始終堅持測試的終極目的不是比拼大家會用什么測試工具、會用什么語言。測試人員靈活掌握工具與語言是為了測試過程更簡約、更快捷。
好了,希望這些介紹能幫助到您的測試,有不足之處也希望大家多多提建議,共同進(jìn)步。
文章轉(zhuǎn)自微信公眾號@51Testing軟件測試網(wǎng)
熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
免費(fèi)開始試用 →
3000+提示詞助力AI大模型
和專業(yè)工程師共享工作效率翻倍的秘密
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
中文在线一区二区 |
狠狠色综合播放一区二区 |
久久免费偷拍视频 |
美女视频网站黄色亚洲 |
欧美一级淫片007 |
舔着乳尖日韩一区 |
欧美成人女星排行榜 |
国产一区二区在线观看免费 |
久久久不卡影院 |
国产成人精品免费网站 |
国产精品成人免费精品自在线观看
|
精品久久久久久综合日本欧美
|
国产精品美女视频 |
99国产精品久久久久久久久久 |
中文字幕精品一区 |
欧美一a一片一级一片 |
日韩电影在线观看电影 |
亚洲精品在线观看视频 |
成人精品国产一区二区4080 |
日韩一区欧美小说 |
在线不卡免费av |
国产美女精品在线 |
亚洲人成7777 |
日韩免费视频一区二区 |
色综合天天性综合 |
国模冰冰炮一区二区 |
亚洲一级二级三级在线免费观看 |
欧美成人一区二区三区在线观看 |
91一区二区在线 |
国产高清在线精品 |
亚洲国产精品一区二区尤物区 |
久久久久综合网 |
91精品国产91久久久久久最新毛片
|
欧美激情一区二区三区 |
日韩一区二区三区观看 |
色综合欧美在线 |
从欧美一区二区三区 |
日本不卡视频在线 |
亚洲高清不卡在线观看 |
xfplay精品久久 |
91麻豆成人久久精品二区三区 |
全国精品久久少妇 |
国产精品主播直播 |
国产白丝网站精品污在线入口 |
亚洲综合自拍偷拍 |
91精品婷婷国产综合久久竹菊 |
国产iv一区二区三区 |
亚洲国产精品欧美一二99
|
日韩欧美一二区 |
99久久精品国产观看 |
国产在线播放一区二区三区 |
日韩成人一级大片 |
亚洲男同1069视频 |
国产欧美视频在线观看 |
久久综合九色欧美综合狠狠 |
欧美日本在线观看 |
国产成a人亚洲精品 |
亚洲一二三四在线观看 |
国产精品久久久久影院亚瑟 |
日韩一区二区三区观看 |
欧美日韩成人在线 |
91福利国产精品 |
日本高清成人免费播放 |
91丝袜国产在线播放 |
国产成人精品免费网站 |
国产综合久久久久久鬼色
|
国产精品女主播av |
国产精品久久久久影视 |
国产精品美女久久久久高潮 |
国产精品入口麻豆原神 |
中文字幕五月欧美 |
伊人色综合久久天天人手人婷 |
亚洲免费观看高清在线观看 |
亚洲欧美日韩久久精品 |
久久日一线二线三线suv |
日韩免费观看高清完整版
|
国产在线不卡一卡二卡三卡四卡 |
激情综合亚洲精品 |
国产成人无遮挡在线视频 |
国产一区二区看久久 |
成人免费精品视频 |
91蝌蚪porny成人天涯 |
国产在线不卡一卡二卡三卡四卡 |
调教+趴+乳夹+国产+精品 |
经典三级在线一区 |
99精品国产99久久久久久白柏 |
欧美日韩在线精品一区二区三区激情 |
欧美日本一道本 |
国产欧美日韩另类视频免费观看 |
亚洲美女偷拍久久 |
精品制服美女久久 |
99久久久国产精品 |
欧美日本在线播放 |
国产欧美一区二区三区沐欲 |
国产精品素人一区二区 |
午夜精品爽啪视频 |
亚洲午夜久久久久久久久久久 |
日日夜夜精品视频免费 |
豆国产96在线|亚洲 |
欧美精品国产精品 |
精品国产123 |
免费精品视频在线 |
一本到不卡免费一区二区 |
日韩视频一区在线观看 |
亚洲激情av在线 |
成人一区二区三区 |
欧美日韩一二区 |
欧美国产欧美综合 |
韩国av一区二区三区 |
欧美美女直播网站 |
欧美一级高清片在线观看 |
综合欧美亚洲日本 |
国产资源在线一区 |
欧美少妇一区二区 |
亚洲日本乱码在线观看 |
国产成人自拍网 |
久久久99免费 |
久草在线在线精品观看 |
在线电影国产精品 |
天天综合天天综合色 |
欧美中文字幕一区二区三区亚洲 |
亚洲色图欧美激情 |
91看片淫黄大片一级 |
18欧美乱大交hd1984 |
av在线一区二区三区 |
亚洲嫩草精品久久 |
亚洲精品日日夜夜 |
99久久免费精品 |
亚洲人成7777 |
在线免费观看一区 |
欧美激情综合在线 |
免费观看91视频大全 |
午夜久久久影院 |
欧美日韩一区在线 |
日本欧美肥老太交大片 |
欧美一卡2卡三卡4卡5免费 |
亚洲国产一二三 |
岛国av在线一区 |
一区二区三区在线播 |
7777精品伊人久久久大香线蕉完整版 |
日本特黄久久久高潮
|
日韩精品免费专区 |
日韩精品一区二区三区四区视频
|
亚洲午夜久久久久 |
日韩欧美不卡一区 |
不卡的av在线 |
亚洲二区在线视频 |
欧美mv和日韩mv的网站 |
日韩中文字幕区一区有砖一区
|
国产成人在线视频网站 |
一区二区三区精品视频在线 |
2023国产精品视频 |
在线观看亚洲a |
国产成人精品一区二 |
午夜欧美在线一二页 |
国产三级欧美三级日产三级99 |
日本va欧美va精品发布 |
日韩午夜中文字幕 |
91尤物视频在线观看 |
狠狠色丁香久久婷婷综合丁香 |
国产精品传媒视频 |
久久午夜色播影院免费高清 |
欧美亚洲尤物久久 |
波多野结衣中文字幕一区二区三区 |
一区二区中文视频 |
精品剧情在线观看 |
欧美日本视频在线 |
91理论电影在线观看 |
国产精一品亚洲二区在线视频 |
亚洲成人www |
亚洲永久免费视频 |
日韩午夜在线观看视频 |
91麻豆精品国产91久久久久久久久
|
精品国产乱码久久久久久蜜臀
|
久久综合精品国产一区二区三区 |
91国在线观看 |
99久久精品久久久久久清纯 |
久久99精品国产麻豆不卡 |
一区二区三区欧美在线观看 |
亚洲欧洲日产国码二区 |
亚洲欧美自拍偷拍 |
日韩伦理av电影 |
久久久久国产精品免费免费搜索 |
欧美tickle裸体挠脚心vk |
欧美mv和日韩mv的网站 |
精品久久久久久亚洲综合网 |
精品盗摄一区二区三区 |
精品久久久久久无 |
日本高清不卡视频 |
日韩欧美卡一卡二 |
日韩精品一区二区三区在线 |
欧美日韩国产一区二区三区地区 |
精品视频在线视频 |
欧美高清激情brazzers |
日韩欧美国产综合 |
亚洲精品在线电影 |
色狠狠综合天天综合综合 |
国产成人h网站 |
欧美亚洲自拍偷拍 |
久久精品一区四区 |