亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Instrumentation Framework的開源項目AndroidMonkey是怎樣的

發布時間:2021-11-22 19:19:28 來源:億速云 閱讀:201 作者:柒染 欄目:移動開發

基于Instrumentation Framework的開源項目AndroidMonkey是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

最大的一個疑問是怎么monkey是用instrumentation來注入event呢?這樣的話它怎么做到跨進程應用的事件發送呢?因為根據本人的了解instrumentation框架是不能跨進程的,而monkey是絕對跨進程的!

	@Override 	public int fireEvent(Instrumentation testRuner) { 		String note; 		if (mAction == KeyEvent.ACTION_UP) { 			note = "ACTION_UP"; 		} else { 			note = "ACTION_DOWN"; 		}  		System.out.println(":Typing Key (" + note + "): " + mKeyCode 				+ "    // "); 		try { //			testRuner.sendKeySync(getEvent()); 			testRuner.sendKeyDownUpSync(mKeyCode); 		} catch (Exception e) { 			System.out.println("Failed to send key (" + note + "): " + mKeyCode 					+ "    // "); 			return MonkeyEvent.INJECT_FAIL; 		}  		return MonkeyEvent.INJECT_SUCCESS; 	}

糾結了一段時間后返回下載地方看了下概覽,很短,但很清楚的描述了這個不是我想要的monkey,而是原生monkey的一個修改后做成的android庫。既然碰上了就順便翻譯下它的介紹和使用吧,反正就那么幾句話,待今后有時間再來進一步研究它了,至于它是否真的如我所言不能跨進程,就留待今后或者大家來驗證了。

1. 概覽

AndroidMonkey是一個android庫。事實上它是在基于原生monkey的基礎上做成的一個方便測試和分析(比如:代碼覆蓋率)的一個測試庫。

測試人員/用戶可以很方便的使用這個庫來創建針對安卓gui應用的隨機測試腳本


Why this library:

為什么使用這個庫:


  • 使用這個庫的話你可以只用幾行代碼就能編寫出針對你的app的隨機測試用例


  • 你可以在你的測試代碼中加入斷言從而很方便的去判斷你的SUT(被測系統/應用)的當前情況(如果你用monkey的話是很難做到的)


  • 你可以通過隨即測試對你的app做覆蓋率分析,這對我們的研究是很有用的(像我現在所做的)(譯者注:其實最后這一句話應該這樣子去理解:如果你是一個公司的采購,你想去評估一個應用是否足夠穩定滿足你的需求,那么你就會先試用做一些前期研究)


Code example/代碼實例

public class ContactAdderTest extends                 ActivityInstrumentationTestCase2<ContactAdder> {          private int NUM_EVENTS = 1000;          public ContactAdderTest() {                 super("com.example.android.contactmanager", ContactAdder.class);         }          @Override         protected void setUp() throws Exception {                 super.setUp();                 setActivityInitialTouchMode(false);          }          public void testMonkeyEvents() {                 Display display = getActivity().getWindowManager().getDefaultDisplay();                 Instrumentation inst = getInstrumentation();                 PackageManager pm = getActivity().getPackageManager();                  Monkey monkey = new Monkey(display,                                 "com.example.android.contactmanager", inst, pm);                  // Generate and fire a random event.                  for (int i = 0; i < NUM_EVENTS; i++) {                         monkey.nextRandomEvent();                 }          } }

 
  


 

2.使用簡介

使用簡介

簡介

以下是介紹如何使用這個庫:

詳情

C創建android項目

先創建一個Android Test Project項目,通過Android ADT[http://developer.android.com/sdk/eclipse-adt.html]   添加對AndroidMonkey庫的引用(引用jar或者項目)

創建測試類

創建一個普通的ActivityInstrumentationTestCase2測試類,然后加入如下的測試用例代碼:

public void testMonkeyEvents(){ Display display = getActivity().getWindowManager().getDefaultDisplay(); Instrumentation inst = getInstrumentation(); PackageManager pm = getActivity().getPackageManager(); Monkey monkey = new Monkey(display, packageToTest, inst, pm); for (int i = 0; i < NUM_EVENTS; i++){ monkey.nextRandomEvent(); } }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁蒗| 屏东市| 潮安县| 巍山| 永顺县| 嘉祥县| 章丘市| 咸阳市| 庐江县| 黔西| 青阳县| 博客| 桐梓县| 武义县| 义乌市| 朔州市| 海门市| 当涂县| 墨竹工卡县| 江永县| 黔西| 双桥区| 新化县| 米易县| 德州市| 涡阳县| 阿坝县| 舟曲县| 西峡县| 隆林| 四子王旗| 江北区| 松滋市| 塔河县| 赤峰市| 汽车| 当雄县| 荔浦县| 贵溪市| 乳源| 景洪市|