如何基於eoLinker進行API介面測試工作

吳億歐發表於2017-11-22

由於工作的原因,一直要接觸大量的介面,而寫完介面文件都需要進行測試才能使用。現在介面測試幾乎是要求在編寫完介面文件後必須要做的步驟,我最近一直在研究介面測試,經測試前輩推薦eoLinker能一鍵測試你的介面是否正常運作,支援線上、本地(localhost)測試、支援跨域測試、支援檔案測試和強大的引數構造器。並且與Postman相同,eoLinker通過填寫URL,header,body等就可以傳送一個請求,同時獲取返回結果,能夠傳送任何型別的http請求,支援GET/POST/PUT/DELETE/PATCH/OPTIONS/HEAD等。
這個對我工作而言實在是很方便啊,之前的文章我分享了一些介面管理的功能點,這次我整合起這些測試小技巧分享給大家。

【傳送請求的方式,最常用的是GET和POST】點選下拉選單可以看到共9種請求方式供選擇(最喜歡是有多種請求方式);並且請求引數支援表單(Form-data)、RESTful、源資料(Raw)格式,並支援表單轉源資料;點選可以以鍵值對的方式新增URL引數;獲取返回結果分為body和header,按需進行檢視。

Body頁面
Body頁面

Header頁面
Header頁面

接著就是編輯介面引數資訊時,點選“更多設定”,填入引數值可能性即可。測試時引數值將被自動填入,設定多個值可能性可在測試時按需選擇。
測試介面
測試介面

還有一個功能是【引數構造器】,該功能可對原始引數進行渲染轉換,獲得渲染轉換後的引數。構造引數操作如下
引數構造器
引數構造器

紅圈分別表示:引數初始值;選擇的引數構造操作;引數構造表示式;引數構造後的結果
紅圈分別表示:引數初始值;選擇的引數構造操作;引數構造表示式;引數構造後的結果

再講一個【Mock簡單測試】,在api的編輯頁面,高階mock裡面,輸入mock的規則就行。eolinker的mock是基於mockjs來改的,不過規則大同小異,規則可以參考這裡mockjs.com/examples.ht… 簡單說就是編輯完成之後,回到api的詳情頁面,在mock的標籤下面會看到有一個url,複製到專案裡面即可。

如何使用到專案中,此處寫了一個demo:

public class MockServerTest {
@Test
public void testMockServer() throws IOException {
mockClient.when(
request()
.withPath("mock.eolinker.com/cK8aThy725c…")
.withMethod("POST")
// .withHeader(new Header(HttpHeaders.ACCEPT, MediaType.TEXT_PLAIN))
// .withQueryStringParameter(new Parameter("my-token", "12345"))
).respond(
response()
.withStatusCode(200)
.withBody(expected)
);
CloseableHttpClient client = HttpClients.createDefault();
HttpGet httpGet = new HttpPost("mock.eolinker.com/TPivSvI55ca…");
CloseableHttpResponse response = client.execute(httpGet);
//驗證輸出是否是正確
InputStream content = response.getEntity().getContent();
InputStreamReader inputStreamReader = new InputStreamReader(content);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String responseText = bufferedReader.readLine();
assertThat(responseText, equalTo(expected));
}
}

而【RESTful mock測試】請求是在url中填入restful地址,在mock測試時,可將restful path中的變數後替換,獲取到相應的值。還可以填入測試url中,並將restful中的path引數替換,點選傳送,獲取結果。若想重新確認之前測試時的引數內容或返回結果,只需要點選相應的介面測試歷史,測試歷史間切換暢通無憂。

測試歷史
測試歷史

所以這次我分享了一些我常用的功能,get和post的請求、引數構造器、Mock測試、RESTful mock測試,至於其他的功能我也還在摸索中。有機會再繼續分享給大家。

產品地址:www.eolinker.com
開原始碼:www.eolinker.com/#/os/downlo…

eoLinker是一個免費開源的針對開發人員需求而設計的介面管理工具,通過簡單的操作來幫助開發者進行介面文件管理、介面自動化測試、團隊協作、資料獲取、安全防禦監控等功能,降低企業的介面管理成本,提高專案的整體開發效率,支援自動化測試管理、許可權管理、程式碼生成、團隊協作,並且提供PC端產品以及瀏覽器增強外掛,讓介面管理更加簡單。

相關文章