Appium中部分api的使用方法
-
使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java-client-2.1.0-javadoc。
1.使用AndroidDriver,其已经继承了AppiumDriver
2.截屏并保存至本地12345678910111213141516171819privateAndroidDriver driver;@BeforepublicvoidsetUp()throwsException {DesiredCapabilities capabilities =newDesiredCapabilities();capabilities.setCapability("deviceName","Android Emulator");capabilities.setCapability("platformVersion","4.4");capabilities.setCapability("platformName","Android");capabilities.setCapability("appPackage","com.android.settings");capabilities.setCapability("appActivity",".Settings");capabilities);}@AfterpublicvoidtearDown()throwsException {driver.quit();}12345678//截屏并保存至本地File screen = driver.getScreenshotAs(OutputType.FILE);File screenFile =newFile("d:\\screen.png");try{FileUtils.copyFile(screen, screenFile);//commons-io-2.0.1.jar中的api}catch(IOException e) {e.printStackTrace();}
3.push文件、pull文件12345678910111213File file =newFile("d:\\test.txt");//test.txt内容为"test"String content =null;try{content = FileUtils.readFileToString(file);}catch(IOException e) {e.printStackTrace();}byte[] data = Base64.encodeBase64(content.getBytes());driver.pushFile("sdcard/test.txt", data);byte[] resultDate = driver.pullFile("sdcard/test.txt");System.out.println(newString(Base64.decodeBase64(resultDate)));//打印结果为"test"
4.12//获取当前界面的activity,可用于断言是否跳转到预期的activitydriver.currentActivity();
5.6.12//打开通知栏界面driver.openNotifications();7.12345678//获取网络状态intstatus = driver.getNetworkConnection().value;System.out.println(status);//设置网络状态driver.setNetworkConnection(newNetworkConnectionSetting(status));//或者driver.setNetworkConnection(newNetworkConnectionSetting(false,true,false));8.12//启动其他应用,跨APPdriver.startActivity("com.android.camera",".CameraLauncher");9.1234//自动滑动列表driver.scrollTo("text");//或者driver.scrollToExact("text");
10.12345//安装APPdriver.installApp(appPath);//判断应用是否已安装driver.isAppInstalled("package name");11.123//拖动相机图标至日历图标位置newTouchAction(driver).longPress(driver.findElementByName("相机")).moveTo(driver.findElementByName("日历")).release().perform();12.12345//锁屏driver.lockScreen(2);//判断是否锁屏driver.isLocked();12//发送按键事件driver.sendKeyEvent(AndroidKeyCode.HOME);13.
123456789<span style="color:#ff0000;"> </span>//通过uiautomator定位clickable属性为true的元素并点击driver.findElementByAndroidUIAutomator("new UiSelector().clickable(true)").click();//相同属性的元素使用List存放List<webelement> elements = driver.findElementsByClassName("class name");elements.get(0).click();//点击List中的第一个元素//tap,点击元素位置driver.tap(1, driver.findElementByName("日期和时间"),0);</webelement>

浙公网安备 33010602011771号