




全文預(yù)覽已結(jié)束
VIP免費下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
如何使用monkeyrunner與view進行交互上一篇/下一篇2013-07-01 15:22:14 / 個人分類:Monkeyrunner查看( 270 )/評論( 0 )/評分(0/0)android官方里的monkeyrunner只介紹了一些有限的ui測試方法. 比如只能指定坐標(biāo)點模擬操作行為,測試結(jié)果對比只能通過截圖進行簡單對比結(jié)果. 當(dāng)然我們可以聰明的來實現(xiàn)猜測到view視圖的坐標(biāo)點,那么我們就可以像robotium一樣, 在monkeyrunner腳本中,對控件級的view視圖進行交互操作.如何實現(xiàn)捕捉到當(dāng)前activity展現(xiàn)的所有的控件信息呢?monkeyrunner.jar 里目前有EasyMonkeyDevice.class 和By.class ,提供了一些新的api, 很大的滿足了一些高級需求有幾個blog文章對EasyMonkeyDevice類的api進行了一些示例,非常淺顯易懂yan1391的博客Android 測試之初試 Monkeyrunner。 國外的diego也寫了一系列關(guān)于monkeyrunner 的文章,并自己寫了一些viewclient apis可以下載到,非常不錯請大家參考,但是diego 把博客寫道了blogspot上,哈,所以大陸的朋友們就郁悶了只能翻墻看了其實以上所有文章主要通過使用了By , EasyMonkeyDevice , monkeydevice 這個類來實現(xiàn)與view object的交互那我們就對這個類進行簡單的剖析一下訪問這里可以看到EasyMonkeyDevice和By的源碼(在線瀏覽)1. By.class可以根據(jù)id獲得viewobject 例如我們有一個text view 的id是 id/account那么我們就可以通過如下獲得該view object.account = By.id(id/account)2. EasyMonkeyDevice.class獲得view object后,可以用EasyMonkeyDevice類進行一些操作getText() , touch(), type(). 分別為獲得該view object 的文本值,進行觸摸屏操作(其會獲取view object的坐標(biāo)值,并進行操作). type() 則會先touch, 然后輸入字符3. monkeyDevice在線瀏覽源碼# 通過MonkeyDevice獲取HierarchyViewer對象實例hierarchy_viewer = device.getHierarchyViewer()#通過HierarchyViewer獲取ViewNode實例(一個viewnode實例代表一個控件)view_node = hierarchy_viewer.findView(By.id(id/emptyText)#獲取控件內(nèi)的文本text = view_dProperties.get(mText).toString()if text.find(have any) 0:print not find have any!else:print find have any!print text總結(jié):如此這般,我們用monkeyrunner 也可以寫出和robotium一樣的腳本,可以對view object 進行操作而且可以和坐標(biāo)點值的方法進行融合可以由很大的突破另發(fā)現(xiàn)了一些問題,目前懷疑是android monkeyrunner.jar 的bug. 問題是EasyMonkeyDevice的touch()函數(shù),不能對應(yīng)用程序彈出的對話框正確的定位坐標(biāo)值當(dāng)一個應(yīng)用程序彈一個對話框時(確認還是 取消之類的對話框),當(dāng)根據(jù)id touch確定和取消時,定位的坐標(biāo)點錯誤,導(dǎo)致無法實現(xiàn)想要的功能還未具體分析時什么時候?qū)υ捒驎a(chǎn)生能該問題為什么說可能是bug, 是因為用tools里的HierarchyViewer 進行察看時,發(fā)現(xiàn)該對話框的實際坐標(biāo)顯示位置有問題但渲染到手機屏幕確是正常的這導(dǎo)致,通過hierachy獲得的坐標(biāo)值有問題,點擊操作無法 觸發(fā)對應(yīng)的button view.MonkeyrunnerAPI幫助文檔(2013-04-11 17:01:05)轉(zhuǎn)載標(biāo)簽:it分類:MonkeyrunnerMonkeyrunnerAPI幫助文檔文檔下載地址/s/xcHlw/1365674074內(nèi)容為MonkeyRunner幫助1、com.android.monkeyrunner.MonkeyRunner.alert當(dāng)前腳本的運行過程中顯示警告對話框。對話框是模態(tài),因此腳本停止,直到用戶關(guān)閉對話框。參數(shù):消息-消息顯示在對話框。標(biāo)題-對話框的標(biāo)題。默認值是“提醒”。okTitle-使用對話框中的按鈕的文本。默認值是“OK”。返回:返回任何內(nèi)容。2、com.android.monkeyrunner.MonkeyDevice.broadcastIntent發(fā)送一個廣播設(shè)備的意圖。參數(shù):URI-意圖的URI。行動-該行動的意圖。數(shù)據(jù)-數(shù)據(jù)的URI意圖的mimetype-mime類型的意圖。類別-迭代的意圖類別名稱。演員-一個額外的字典添加到意圖。這些額外的類型推斷的值的Python類型。組件-組件的意圖。標(biāo)志-一個迭代的標(biāo)志為Intent.All參數(shù)是可選的。每個參數(shù)的默認值是null。(見android.content.Context.sendBroadcast(意向)返回:返回任何內(nèi)容。3、com.android.monkeyrunner.MonkeyRunner.choice顯示一個選擇對話框,允許用戶選擇從一個單一的項目,一個項目清單。參數(shù):消息-提示信息顯示在對話框。選擇-一個可迭代的Python類型的選擇列表顯示標(biāo)題-對話框的標(biāo)題。默認的是“輸入”返回:所選項目的抵消了Iterable基于0的數(shù)字。4、com.android.monkeyrunner.MonkeyImage.convertToBytes轉(zhuǎn)換成一個特定格式的MonkeyImage作為一個字符串返回結(jié)果。使用此獲得rawpixels在一個特定的格式。字符串輸出是有更好的表現(xiàn)。參數(shù):格式-目標(biāo)格式(例如,“PNG便攜式網(wǎng)絡(luò)圖形格式)。默認為PNG。返回:一個String生成的圖像。5、com.android.monkeyrunner.MonkeyDevice.drag模擬設(shè)備屏幕上拖動(觸摸,持有和移動)。參數(shù):開始-拖動起點(以像素為單位元組(X,Y)結(jié)束-阻力終點(以像素為單位元組(X,Y)時間-在幾秒鐘內(nèi)拖時間(默認為1.0秒)步驟-插值點時要采取的步驟。(默認是10)返回:返回任何內(nèi)容。6、com.android.monkeyrunner.MonkeyView.getAccessibilityIds返回當(dāng)前視圖的輔助IDS返回:視圖的輔助IDS作為一個整數(shù)列表7、com.android.monkeyrunner.MonkeyRect.getCenter返回一個兩個項目清單,其中包含矩形的中心的x和y的值返回:該中心作為一個整數(shù)的兩個項目清單坐標(biāo)8、com.android.monkeyrunner.MonkeyView.getChecked獲取視圖的選中狀態(tài)返回:一個布爾值,該項目是否被選中或不9、com.android.monkeyrunner.MonkeyView.getChildren返回當(dāng)前視圖的孩子們返回:認為兒童MonkeyView對象名單10、com.android.monkeyrunner.MonkeyView.getEnabled返回啟用狀態(tài)的看法。返回:作為一個布爾啟用狀態(tài)11、com.android.monkeyrunner.MonkeyView.getFocused視圖返回集中狀態(tài)返回:集中的狀態(tài)作為一個布爾12、com.android.monkeyrunner.MonkeyRect.getHeight返回矩形的高度。返回:作為一個整數(shù)的矩形的高度13、com.android.monkeyrunner.MonkeyDevice.getHierarchyViewer獲取設(shè)備HierarchyViewer對象。返回一個HierarchyViewer對象14、com.android.monkeyrunner.MonkeyView.getLocation返回視圖的位置在一個MonkeyRect形式返回:視圖作為MonkeyRect對象的位置15、com.android.monkeyrunner.MonkeyView.getParent返回當(dāng)前視圖的父返回:視圖的父作為MonkeyView對象16、com.android.monkeyrunner.MonkeyDevice.getProperty由于設(shè)備上的變量的名稱,返回變量的值參數(shù):關(guān)鍵-變量的名稱。可用的名稱在/guide/topics/testing/monkeyrunner.html上市。返回:該變量的值17、com.android.monkeyrunner.MonkeyDevice.getPropertyList檢索,可以查詢的屬性返回:返回任何內(nèi)容。18、com.android.monkeyrunner.MonkeyImage.getRawPixel一個單一的ARGB(alpha,紅色,綠色,藍色)像素位置的X,Y。參數(shù)X和Y是0,表示在像素尺寸。X增加的權(quán)利,對底部的Y增加。此方法返回一個tuple。參數(shù):X-x偏移的像素Y-像素的y偏移量返回的元組(一R,G,B)的像素。tuple中的每個項目都有0-255范圍內(nèi)。19、com.android.monkeyrunner.MonkeyImage.getRawPixelInt一個單一的ARGB(alpha,紅色,綠色,藍色)像素位置的X,Y。參數(shù)X和Y是0,表示在像素尺寸。X增加的權(quán)利,對底部的Y增加。此方法返回一個整數(shù)。參數(shù):X-x偏移的像素Y-像素的y偏移量返回:X,Y的無符號整數(shù)像素。高階8位是A,followedby8位為R,G和88為B20、com.android.monkeyrunner.MonkeyDevice.getRootView獲取當(dāng)前根視圖返回:根視圖對象21、com.android.monkeyrunner.MonkeyView.getSelected返回視圖的選中狀態(tài)返回:作為一個布爾選中狀態(tài)22、com.android.monkeyrunner.MonkeyImage.getSubImage復(fù)制圖像的矩形區(qū)域。參數(shù):矩形-一個元組(X,Y,W,H),說明該地區(qū)復(fù)制。x和y指定上左邊角落的區(qū)域。w是該地區(qū)的像素寬度,h是它的高度。返回:MonkeyImage對象代表復(fù)制的區(qū)域。23、com.android.monkeyrunner.MonkeyDevice.getSystemProperty代名詞的getProperty()參數(shù):關(guān)鍵-系統(tǒng)變量的名稱。返回:該變量的值。24、com.android.monkeyrunner.MonkeyView.getText返回視圖所載文本返回:在視圖中的文本25、com.android.monkeyrunner.MonkeyDevic
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年輔警招聘考試綜合提升試卷及答案詳解(網(wǎng)校專用)
- (2025)輔警招聘考試試題庫及答案詳解參考
- 2025年中考沖刺模擬地理(重慶卷)(考試版)
- 2022年2月青海省稅務(wù)系統(tǒng)遴選面試真題附解析
- 2022年2月銅陵市稅務(wù)系統(tǒng)遴選面試真題帶題目詳解
- 2025年行政執(zhí)法基礎(chǔ)知識綜合練習(xí)題完整參考答案詳解
- 2024年甘肅陜煤集團韓城煤礦招聘真題附答案詳解(考試直接用)
- 2024年甘肅陜煤集團韓城煤礦招聘筆試真題含答案詳解(考試直接用)
- 2025年皖北煤電集團總醫(yī)院招聘24人筆試備考題庫有答案詳解
- 感人畢業(yè)致辭
- 2024版肺栓塞幻燈課件
- 2025中考數(shù)學(xué)復(fù)習(xí)專題:八類最值問題匯-總(瓜豆隱圓胡不歸阿氏圓將軍飲馬逆等線費馬點構(gòu)造二次函數(shù)求最值)(原卷版)
- 農(nóng)村煤改電工程施工設(shè)計方案
- 2025年1月八省聯(lián)考新高考語文試卷試題真題(精校打印)
- 2025年鄭州鐵路局招聘筆試參考題庫含答案解析
- 公司駕駛員安全培訓(xùn)內(nèi)容
- 安全生產(chǎn)應(yīng)急培訓(xùn)課程
- 2024年大型主題公園設(shè)計與施工合同
- 《基督教概論》課件
- 污水處理廠安全生產(chǎn)培訓(xùn)
- 婦科藥品管理
評論
0/150
提交評論