前言:已配置好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.编码,后续详解