Appium一定要現在最新版本!
不然會報各種奇怪的錯誤
第一步就是各種配置的鍵值怎么獲取。
類似這個
capabilities.setCapability("platformName", "Android"); capabilities.setCapability("deviceName", "Android Emulator");
1、設備id和android版本號
獲取系統版本:adb shell getprop ro.build.version.release
獲取系統api版本:adb shell getprop ro.build.version.sdk
2、獲取apk相關信息,包名、啟動Activity什么的,可以使用aapt工具,要自己下載aapt.exe和配置環境變量
3、大概如下
{ "platformName": "Android", "deviceName": "DUR8JNOF9TFMYLQC", "appPackage": "com.yao.club", "appActivity": "com.yao.club.LoginActivity", "platformVersion": "6.0" }
注意要加這個屬性才能支持中文
"unicodeKeyboard": true, "resetKeyboard": true
二、使用desktop
錄制腳本
可以看到右下方有xml文件,點擊xml文件的結構,會在左邊對應的地方顯示出來。
直接操作屏幕也會在右邊顯示出來。
最右方是屬性,以及你要做的操作。比如我要填東西
挺慢的
先tap,然后再在密碼那sendkey,會轉化為相應的api語句。
整個登陸的腳本就是
MobileElement el1 = (MobileElement) driver.findElementById("com.yao.club:id/et_username"); el1.click(); el1.sendKeys("張三"); MobileElement el2 = (MobileElement) driver.findElementById("com.yao.club:id/et_pwd"); el2.click(); el2.sendKeys("123"); MobileElement el3 = (MobileElement) driver.findElementById("com.yao.club:id/btn_login"); el3.click();
很好的將腳本變成了坐標無關的控件記錄了,可以在別的apk上跑。
錄一個視頻好了。