国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Java基于rest assured實現接口測試過程解析

瀏覽:48日期:2022-09-04 14:36:44

背景

java程序員一般寫的是后端服務是JavaWeb類型的項目,主要包括Http接口和dubbo接口,Http接口一般采用的rest風格,那么如何快速的對rest接口在第三方的測試框架上進行測試呢?

rest-assured框架是一個不錯的工具。

使用之前,需要熟悉一下最基礎的使用方法,在寫完幾個接口的測試用例之后,好比你可以使用你的三棱軍刺熟練的進行基礎的攻擊了。

快速的來一個hello world吧!

假設你寫了一個接口:lotto,訪問路徑是: http://localhost:8080/lotto

接口返回值是:

{'lotto':{ 'lottoId':5, 'winning-numbers':[2,45,34,23,7,5,3], 'winners':[{ 'winnerId':23, 'numbers':[2,45,34,23,3,5] },{ 'winnerId':54, 'numbers':[52,3,12,11,18,22] }]}}

如何快速的驗證接口是否返回正常值呢?

get('/lotto').then().body('lotto.winners.winnerId', hasItems(23, 54));

使用簡單吧!

引入

不多說,直接maven的方式引入:注意,我直接按照默認的scope引入的,不是test;

主要引入以下2個依賴,原因如下:

rest-assured: 主要測試基本的http的rest風格接口,這個是最基礎的依賴;

json-path: 主流的接口主要返回json,對接口進行測試用例測試,主要也是判斷json返回某路徑下的數據;

<dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>4.2.0</version></dependency><dependency> <groupId>io.rest-assured</groupId> <artifactId>json-path</artifactId> <version>4.2.0</version></dependency>

然后你就可以愉快的編寫測試用例,然后使用rest-assured進行接口測試了。

使用要點

先上簡單代碼吧!

先準備測試數據:

final TestCaseDataModel<LoginRestReq> testCaseDataModel = new TestCaseDataModel<>(); final LoginRestReq loginRestReq = LoginRestReq.builder().appId('2a6bf452219cfe44c7f78231e3c80a13072b6727').nonce('123456').timestamp(System.currentTimeMillis()).userId('lxlifuchun').userName('李福春').build(); String appSecret = '91e47f584dae551170ade272b2c7a69f'; loginRestReq.setChecksum(SignUtils.generateCheckSum(loginRestReq.getAppId(), appSecret, loginRestReq.getTimestamp(), loginRestReq.getNonce())); testCaseDataModel.setInputParam(loginRestReq); ExpectModel expectModel = new ExpectModel(); expectModel.setPath('data.id'); expectModel.setMatcher(Matchers.lessThan(0)); testCaseDataModel.setExpectResult(Arrays.asList(expectModel));

RestAssured.baseURI = 'https://rest-beta.xxx.com'; final ValidatableResponse validatableResponse = given().contentType(ContentType.JSON).header('requestId', UUID.randomUUID().toString()).body(testCaseData.getInputParam()). post('/user_service/user/login').then().contentType(ContentType.JSON); for (Object obj : testCaseData.getExpectResult()) { ExpectModel item = (ExpectModel) obj; validatableResponse.body(item.getPath(), item.getMatcher()); }

做的事情很簡單,就是拿一個登錄接口來實際的試一下:

login接口接受一個json的參數,LoginRestReq對下轉換之后得到;然后返回數據,數據中有一個用戶id,路徑是 data.id,如果id大于0,標識登錄操作成功,登錄接口正常。

很好的完成了接口的測試,如果失敗,會拋出錯誤,捕獲錯誤,然后輸出信息,標識測試用例不通過,提示到界面或者發送郵件給到開發人員,即完成了接口的自動化測試。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 日韩天天摸天天澡天天爽视频 | 黄色成人在线观看 | 成人a视频在线观看 | 亚洲精品a | 久草国产在线观看 | 欧美视频一区二区三区精品 | 久久99精品这里精品3 | 国内精品自产拍在线观看91 | 国产欧美va欧美va香蕉在线观 | 亚洲国产精品综合久久网络 | 国产成人女人视频在线观看 | 久久亚洲精品中文字幕第一区 | 国产一级在线观看www色 | 日本黄网站高清色大全 | 国产大尺度福利视频在线观看 | 欧美成人性性 | 久草在线色站 | 日本阿v精品视频在线观看 日本阿v视频在线观看高清 | 日本xxxb孕交 | 免费91最新地址永久入口 | 久久一日本道色综合久 | 在线观看国产区 | 天堂男人2021av | 欧美一级成人一区二区三区 | 精品国产品国语在线不卡丶 | 国产主播精品福利19禁vip | 中日韩精品视频在线观看 | 国产精品夜色视频一级区 | 日本韩国欧美一区 | 国内久久久 | 国产三级理论 | 加勒比久久综合 | 国产成人精品免费久久久久 | 九九午夜 | 日本一级特黄a大片在线 | 午夜三级a三级三点在线观看 | 国产99精品在线观看 | 爱爱爱久久久久久久 | 久久99精品热在线观看15 | 亚洲毛片免费看 | 久久久在线视频精品免费观看 |