[英]Android UI testing: “adb shell uiautomator” throws error, “uiautomator” in “adb shell” works
[英]Android push shell command on uiautomator
我試圖使用uiautomation將mp3推送到設備中,所以我使用以下代碼:
mDevice.executeShellCommand("push music\\testing.mp3 /sdcard/Music");
但是運行之后,什么都沒有發生,我的代碼有什么問題嗎?
executeShellCommand 在您要自動化的設備中執行命令。 它與UiAutomator等效於“ adb shell <command>
”。 但是,要將文件推送到此類設備,您應該在本地計算機(文件所在的位置)上執行該文件,因為設備對此一無所知。
諸如Appium之類的自動化框架已經提供了用於推送文件的簡單功能 ,但是對於低級的UiAutomator我找不到類似的東西。 您最簡單的選擇是手動調用adb push:
ProcessBuilder pb = new ProcessBuilder("adb", "-s", "DEVICE_UDID", "push", "music\\testing.mp3", "/sdcard/Music");
Process pc = pb.start();
pc.waitFor();
確保將DEVICE_UDID
替換為設備的標識符(如adb設備中所示)。 或者,如果只有一台設備連接到計算機,則可以從命令中刪除"-s", "DEVICE_UDID"
,它將假定您連接的設備為命令的目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.