Robotium雙client測試框架

2021-09-22 11:10:05 字數 2136 閱讀 7839

網際網路的本質就是資訊交換。移動網際網路更是如此, 所以很多移動網際網路的服務類應用中有著身份地位不同的兩種使用者(比如:交易中的買家和賣家, 教學中的老師和學生, 打車中的車主和乘客)。近期的工作是給公司的某個產品建立android客戶端測試框架,使用的自己主動化測試技術是robotium。因為產品的使用者存在兩種身份(在這裡簡稱clienta, clientb),那麼就須要建立乙個可以同步兩種不同使用者的測試框架,這就是本文標題「robotium雙客戶端測試框架」的由來。

1. 需求具體分析

為了方便大家理解。我畫了張圖,不說廢話直接上圖。

如上圖所描寫敘述的,客戶身份a、b各有一些測試用例須要執行(圖中圓型佇列),當執行到紫色用例時須要兩個client同步,這時執行到用例方法體內的客戶身份須要向同步server通訊已獲得還有乙個客戶身份得同步資訊,假設對方已經準備就緒。用例方法開始同步執行。假設對方沒有就緒,告知server自己已經就緒而且開始等待。

2.server端核心**

還是先上**,稍後解釋。

//寫回json資料

}重要的就是中間的if—else迴圈,主要功能是識別不同客戶身份,然後依照身份讀取還有一身份的狀態資訊而且把自己的狀態給寫入server。

3.client核心**

client**能夠簡單分為三部分,第一是robotium測試框架建立,其次須要輪詢server對方資料。最後是須要接收資料並更等待狀態位。

關於robotium測試框架建立不是本文的重點也比較簡單。筆者並不打算展開說明。

附上相關資料:假設是大家做過android開發應該不難上手。

關於server通訊,我使用的是httpclient框架。用法為建立乙個httpclient物件。向服務傳送資料請求,使用框架中提供的handler子類非同步接收資料並處理。**還是非常easy的。

輪詢資料

public void testsync () throws exception	

//robotium control code

}

傳送請求

接收資料

};github位址為:

Robotium 測試方法

1.檢查checkbox 是否選上,用solo.ischeckboxchecked text 有時候checkbox 沒有相關的text,這時要用solo.ischeckboxchecked index 2.如果頁面上相同的string有多個,可以用index來區分。如solo.clickontex...

Robotium原理初探

本文 於 測試框架圖 android的instrumentation對某個監控程式進行互動時 1.啟動時將專案配置檔案androidmanifest.xml檔案中的instrumentation標籤中的內容進行初始化 標明了所使用的測試執行類,目標專案包名 2.執行測試時 可用adb命令觸發 將啟動...

Robotium學習筆記一

一 重簽名問題 1 從手機pull所需的apk通過壓縮工具刪除meta inf目錄 2 通過以下命令列進行簽名 jarsigner keystore c documents and settings ey android debug.keystore storepass android keypas...