1. 程式人生 > >基於httpclient和mysql的介面功能自動化測試框架

基於httpclient和mysql的介面功能自動化測試框架

最近一直在做httpclient介面測試,功能自動化的框架1.0算是初步完成,中間遇到了很多問題,學到了不少知識,基本思想是mysq結合testNG,在去用jekins整合。分享一下自己做的PPT。

簡介:

1.語言:java
(1)基礎語法 (2)基本資料型別 (3)java方法 (4)java繼承和封裝
教程地址:http://www.runoob.com/java/java-collections.html
2.工具httpclient:客戶端程式設計工具包
主要功能:(1)實現了所有 HTTP 的方法(2)支援自動轉向(3)支援 HTTPS 協議(4)支援代理伺服器等
3.IDE:eclipse
Eclipse 是一個開放原始碼的、基於Java的可擴充套件開發平臺。就其本身而言,它只是一個框架和一組服務,用於通過外掛元件構建開發環境。
教程地址:http://www.cnblogs.com/quickcodes/p/5399385.html

用例編寫:


使用說明:


除錯用例:

// 下面是驗證單個用例的方法,括號裡面是用例的case_id,獲取相應結果並儲存驗證結果到資料庫中
executeCaseAndOutputEntity(2);
//下面是結束時執行的方法(必須要有)
httpClient.close();


如果檢查點的期望值沒有讀取到內容,則預設新增期望值為“..-.”。
如果第三個和第四個檢查點為text和int,如果驗證通過,期望值和實際值一樣。
params只代表用例資料,並不程式碼介面傳入引數。

介面管理:

使用不同的map集合來管理不同版本不同型別的api

public static Map<String, String> apiType = new HashMap<>();
static {
		apiType.put("/shequ/post/create", POST);// 建立帖子介面
		apiType.put("/shequ/post/del", POST);// 帖子刪除介面
		apiType.put("/shequ/post/reply", POST);// 回覆帖子介面
		apiType.put("/star/starinfo", GET);// 明星詳情介面
	}

執行程式碼:
@Test
	public void RunCases1() {
		executeAllCases(apiType1);
	}
	@Test
	public void RunCases2() {
		executeAllCases(apiType2);
	}
	
	@AfterClass // 所有用例執行完
	public void tearDown() {
		closeHttpClientAndOutputReport("D:\\");//報告生成地址
	}

測試結果:


Mark表示testNG表機制,testmark表示用例執行標記值,與result表中一致
Api_name表示介面名,格式與其他相同
Total表示執行用例總數
Fail表示失敗總數
Failresult表示失敗的結果集合
Fail_case表示失敗的用例集合
Report_id和create_time自動新增值

測試報告:


未了,宣傳一下自己的QQ群,起於UiAutomator不至於UiAutomator。