uiautomator源碼
步驟:
1、配置好JDK。
2、SDK(API高於16)。
3、Eclipse(安裝ADT插件),對Eclipse環境不太熟悉的,建議下載插件將其漢化,另外推薦一本書《Java從入門到精通》的電子版,裡面有對Eclipse的使用介紹,淺顯易懂。
4、ANT(用於編譯生成的jar)。
㈡ 遇到android5.0.2系統上面使用uiautomator mp 命令生成的xml文件中文亂碼怎麼解
源碼有問題,對比Android5.0.2與4.4的源碼得出,在/frameworks/testing/uiautomator/library/core-src/com/Android/uiautomator/core/AccessibilityNodeInfoDumper.java的private static String stripInvalidXMLChars(CharSequence cs)方法存在差異,改方法就是將傳入的字元轉換為字元串,如下是差異對比:
大家可以看出,左邊為5.0.2的源碼,明顯方法中只支持英文字元,其它字元統統返回問號,解決方法也很簡單,就是修改該方法,然後重新編譯刷機,自己測試中文正常顯示。
㈢ 正在學uiautomator需要對其架構進行組內培訓,求大神發源碼到我的郵箱[email protected]
網路下 啥都有啊
㈣ 怎樣看android自動化uiautomator源碼
Google在sdk4.0以後提供了一個自動化解決方案uiautomator:
優點:可以跨應用了;這可是親生的;
缺點:必須sdk4.0以上版本;要想實現的好,最好有開發配合;java項目編譯為jar後需要push到手機才能運行,也就是說必須列印日誌暴力調試。
㈤ uiautomator 源碼在哪
gitclonehttps://android.googlesource.com/platform/frameworks/uiautomator
㈥ 為什麼UIautomator viewer不能夠截取到鬧鍾的界面
今天我學習uiautomator的時候,用mpWindowHierarchy()獲得控制項信息的時候,發現這個方法可以得到動態的界面信息。這就彌補了uiautomatorviewer的缺陷。下面把過程給大家貼出來。
我撿主要的將。java代碼:
package com.ibm.test;
import java.io.File;
import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
public class MyUIauto extends UiAutomatorTestCase {
private static final String TAG = "MyUIauto";
public void testPressHome() throws UiObjectNotFoundException {
File file = new File("/data/local/tmp/local/tmp/qian.xml");
UiDevice uiDevice = getUiDevice();
//uiDevice.pressHome();
String realPath = "qian.xml";
uiDevice.mpWindowHierarchy(realPath);
}
}
我看了一下mpWindowHierarchy的方法源碼:
public void [More ...] mpWindowHierarchy(String fileName) {
AccessibilityNodeInfo root = getAutomatorBridge().getQueryController().getAccessibilityRootNode();
if(root != null) {
AccessibilityNodeInfoDumper.mpWindowToFile(
root, new File(new File(Environment.getDataDirectory(),
"local/tmp"), fileName));
}
}
官網上的說明默認目錄是/data/local/tmp目錄,但從源碼上可以看見它又增加了local/tmp目錄。合並起來就是/data/local/tmp/local/tmp目錄。這也是我起先隨便建立個目錄造成的錯誤的原因,老是報/data/local/tmp/local/tmp/下無文件的錯誤。後來找到源碼才知道。
編寫完java工程 以後,用ant命令生成jar包,然後把jar包push到設備上,將秒錶打開。然後運行腳本,得到xml文件,抓到本地。
㈦ 在某些版本手機中通過UIAutomatorViewer工具無法獲取手機屏幕元素的信息
如果你的工具只能獲取到桌面,而進入任何一個APP界面,都無法獲取到界面信息時,原因可能是sdk API版本過低,被聽其他的瞎說什麼手機沒root,或者本身不支持之類,都是瞎扯。正確的解決方法是:
1.通過Android Studio或者IDEA下載更高級的API版本,我是把最新的26,27都下了,這和手機本身是不是android最新版本沒關系。
2.升級後你可能會遇到一個adb連接不上手機的問題,這個請參考:
㈧ 用python+uiautomator做自動化,使用到swipePoints這個方法的時候,一直報KeyError錯誤,請問怎麼解決
估計調用swipePoints傳參有問題
㈨ 如何在另一個類中調用已經寫好的UiAutomator Java代碼中的方法
如果你使用Eclipse可以直接new UiAutomator對象,例如Uiautomator ui = new Uiautomator(),調用方法幾時ui.方法名。
調用其他類的方法名一般是新建對象,然後通過對象加「.」調用方法。如果是靜態方法就直接類名.方法