前言:已配置好appium+java環境,若有問題,可參考前篇blog。java
實例:android
1.建立java項目,導入相關依賴,java-client和selenium版本號最好對應,否則可能出現很奇葩的問題。相關網站:https://mvnrepository.com/artifact/io.appium/java-client。點擊相應版本,下面會有對應的selenium版本號對應的網址。git
java文件對應的配置以下session
配置好java項目後,能夠經過sdk包下面的tools文件夾下面找到uiautomatorviewer.bat文件,雙擊打開,能夠獲取app頁面相關元素的id,記錄,後面編碼有用到。以下圖:app
編碼,測試1+6,打開appium並運行,並運行下面代碼,觀察結果ide
public class MyClass { private AppiumDriver driver; @BeforeClass public void setup() throws Exception{ DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability(CapabilityType.BROWSER_NAME,""); cap.setCapability("platformName","Android"); cap.setCapability("deviceName","9HNBB18330161672"); cap.setCapability("platformVersion","6.0"); cap.setCapability("appPackage","com.android.calculator2"); cap.setCapability("appActivity","com.android.calculator2.Calculator"); cap.setCapability("appWaitActivity","com.android.calculator2.Calculator"); cap.setCapability("sessionOverride",true); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap); } @Test public void plus(){ //獲取1 driver.findElementById("com.android.calculator2:id/digit1").click(); //獲取+ driver.findElementById("com.android.calculator2:id/plus").click(); //獲取6 driver.findElementById("com.android.calculator2:id/digit6").click(); //獲取= driver.findElementById("com.android.calculator2:id/equal").click(); } @AfterClass public void tearDown() throws Exception{ driver.quit(); } }
難點解析:工具
1.環境配置。一點要建立java項目,避免依賴文件衝突。測試
採坑點,在Android studio中導入相關jar文件,必須建立java項目,而不是android項目。由於AS會默認建立Android項目,剛開始沒注意這一點,在經過glide導入相關依賴文件的時候,衝突了,一直報錯。網站
以下:Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archivesui
由於io.appium:java-client:4.1.2和com.android.support:appcompat-v7:27.1.1有重複引用
2.獲取app頁面元素id,若是能夠本身看代碼,皆大歡喜,若是無法看到源碼,能夠經過sdk下自帶工具獲取。
3.編碼,後續詳解