目前我使用UIAutomator來執行Android UI測試。基本上,我編寫Java代碼,編譯它,安裝jar,然後運行。AndroidViewClient腳本可以在設備上運行或從應用程序運行(不是來自終端)
假設UI測試應用程序(從xml文件讀取UI操作)被稱爲AppTester.jar,該應用程序用於測試開發的應用程序myApp.apk。然後我必須運行:
adb shell uiautomator runtest AppTester.jar -c com.uia.example.my.AppTester
因此,在運行adb命令後,所有測試都在設備上完成,而不是從終端完成。
現在我想在我現有的測試中使用AndroidViewClient進行視圖對比。爲了將AndroidViewClient集成到現有的測試框架中,如果我可以運行腳本(由culebra生成),即使是在我的AppTester.jar程序中生成腳本的culebra工具,也是理想的。
有沒有可能這樣做?
@dtmilano爲了更好地完善我的問題,我可以重新使用庫萊布拉編寫的代碼來轉儲/比較視圖樹,並在應用程序中封裝這部分,這將在設備上執行相同的操作?不適用於生產硬件,或只適用於需要服務器/客戶端結構的Android模擬器? – emilywuq
正如我在我的回答中提到的那樣,在您的測試中需要一些權限,只有在您從'adb'運行它們時纔會被授予權限。從應用程序啓動的測試可能會受限於權限。想象一下,任何應用程序都可以訪問其他應用程序的視圖,這將是一個巨大的安全問題。 –
@dtmilano,據我所知uiautomator必須從adb運行。我想要的功能是,一旦uiatumator運行我的AppTester.jar(adb shell uiautomator runtest AppTester.jar -c com.uia.example.my.AppTester),我可以在AppTester中運行culebra腳本(或java代碼) .jar,假設我重用了culebra代碼並將其正確包裝到AppTester.jar中。 是庫萊布拉測試儀還是圍繞python(庫萊布拉python腳本)能夠實現這一目標? – emilywuq