技術(shù)準(zhǔn)備:
java
rest-assured
rest-assured接口測(cè)試學(xué)習(xí)(一)
rest-assured接口測(cè)試學(xué)習(xí)(二)
rest-assured接口測(cè)試學(xué)習(xí)(三)待測(cè)環(huán)境:企業(yè)微信
jenkins持續(xù)集成
項(xiàng)目準(zhǔn)備:
- 企業(yè)微信官網(wǎng)粗卜,用于注冊(cè)自己的企業(yè)芯勘,無(wú)門(mén)檻
- 企業(yè)微信api,請(qǐng)接入具體場(chǎng)景選擇【企業(yè)內(nèi)部開(kāi)發(fā)】,閱讀下【服務(wù)端api-開(kāi)發(fā)指南】的文檔设联,熟悉接口結(jié)構(gòu)。
- 企業(yè)微信接口調(diào)試工具
- 需要使用的數(shù)據(jù):【應(yīng)用與小程序】-【自建】-【創(chuàng)建應(yīng)用】嫂侍,創(chuàng)建應(yīng)用后有:
企業(yè)ID corpid:wwad5387da586768d8
應(yīng)用AgentId:1000002
應(yīng)用Secret:MEsk6ytKetMfjkehk8T2GoCTh6Zbmq1KbIYxurO93lQ
通訊錄Secret:ALiaGD6WodorwCRqLITgAS4JwLo7cNNTeQ0zeeqxM98
熟悉接口:
使用企業(yè)微信提供的接口調(diào)試工具:
建立連接:獲取AccessToken
請(qǐng)求地址: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwad5387da586768d8&corpsecret=MEsk6ytKetMfjkehk8T2GoCTh6Zbmq1KbIYxurO93lQ
返回結(jié)果: HTTP/1.1 200 OK
Connection: keep-alive
Error-Code: 0
Error-Msg: ok
Content-Type: application/json; charset=UTF-8
Content-Length: 277
{"errcode":0,"errmsg":"ok","access_token":"OaGWL0unV5KM2AecoGs-gs8rZaLM3GAp1O2jiAZJ_rd0FxBM_7hH0SEbX7dN9IyT1WNEe7lDRK9kufYR7atay2FML4mbn3CUUC7hZG2irpLvcJ-SGEfdbcc0VpdGQwAqso9yePnAUBkRAbmRaCI7A1dQ-UtutluJzbwMIJKdIysID2FJxYJYJilCUXGSR0axP8lw-6euCp1CjCekhuJiVg","expires_in":7200}
access_token
就是我們需要的
"expires_in":7200
表示access_token
的失效時(shí)間沾谓,7200秒,2小時(shí)
發(fā)送消息接口示例
body填入的內(nèi)容:
{
"touser" : "@all",
"toparty" : "",
"totag" : "",
"msgtype" : "text",
"agentid" : 1000002,
"text" : {
"content" : "Daybreak提醒您渗稍,您的快遞已到佩迟,請(qǐng)攜帶工卡前往郵件中心領(lǐng)取。\n出發(fā)前可查看<a href=\"http://work.weixin.qq.com\">郵件中心視頻實(shí)況</a>竿屹,聰明避開(kāi)排隊(duì)报强。"
},
"safe":0
}
待測(cè)業(yè)務(wù)
- 部門(mén)的增刪改查
- 成員的增刪改查
- 發(fā)送消息
注意事項(xiàng)
-
token的緩存
image.png 調(diào)試工具
調(diào)用頻率
接口測(cè)試用例實(shí)現(xiàn)
- 打開(kāi)IDEA,新建一個(gè)Maven工程拱燃,我命名為ApiDemo秉溉,添加
junit
和rest-assured
的依賴(lài) 。 - new一個(gè)class,我命令為T(mén)estGetToken.java召嘶,代碼如下:
import io.restassured.RestAssured;
import org.junit.jupiter.api.Test;
import static org.hamcrest.core.IsEqual.equalTo;
public class TestGetToken {
@Test
public void testToken(){
RestAssured.given().log().all()
//入?yún)? .queryParam("corpid","wwad5387da586768d8")
.queryParam("corpSecret","MEsk6ytKetMfjkehk8T2GoCTh6Zbmq1KbIYxurO93lQ")
//when表示觸發(fā)條件
.when().get("https://qyapi.weixin.qq.com/cgi-bin/gettoken")
//then對(duì)結(jié)果斷言
.then().log().all().statusCode(200).body("errcode",equalTo(0));
}
}
這是最基礎(chǔ)的用例實(shí)現(xiàn)父晶。但是每一條用例都這么寫(xiě),會(huì)有大量重復(fù)的代碼弄跌,所以要對(duì)代碼進(jìn)行封裝甲喝,提高代碼的復(fù)用性。