51Testing软件测试论坛
标题:
【我分享】 appium 中部分 api 的使用方法
[打印本页]
作者:
张亚洲
时间:
2015-1-9 08:30
标题:
【我分享】 appium 中部分 api 的使用方法
使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java-client-2.1.0-javadoc。
1.使用AndroidDriver,其已经继承了AppiumDriver
private AndroidDriver driver; @Before public void setUp() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("platformVersion", "4.4"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("appPackage", "com.android.settings"); capabilities.setCapability("appActivity", ".Settings"); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @After public void tearDown() throws Exception { driver.quit(); }2.截屏并保存至本地
File screen = driver.getScreenshotAs(OutputType.FILE); File screenFile = new File("d:\\screen.png"); try { FileUtils.copyFile(screen, screenFile); //commons-io-2.0.1.jar中的api } catch (IOException e) { e.printStackTrace(); } 3.push文件、pull文件
File file = new File("d:\\test.txt"); //test.txt内容为"testerHome" 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(new String(Base64.decodeBase64(resultDate))); //打印结果为"testerHome"4.
//获取当前界面的activity,可用于断言是否跳转到预期的activity driver.currentActivity();5.
//打开通知栏界面 driver.openNotifications();6.
//获取网络状态 int status = driver.getNetworkConnection().value; System.out.println(status); //设置网络状态 driver.setNetworkConnection(new NetworkConnectionSetting(status)); //或者 driver.setNetworkConnection(new NetworkConnectionSetting(false, true, false));7.
//启动其他应用,跨APP driver.startActivity("com.android.camera", ".CameraLauncher");8.
//自动滑动列表 driver.scrollTo("text"); //或者 driver.scrollToExact("text"); 9.拖动元素
//拖动相机图标至日历图标位置 new TouchAction(driver).longPress(driver.findElementByName("相机")) .moveTo(driver.findElementByName("日历")).release().perform();10.图案解锁,解锁该图案:
TouchAction action = new TouchAction(driver); action.press(215, 870).moveTo(540, 870).moveTo(862, 870) .moveTo(540, 1195).moveTo(215, 1195).moveTo(215, 1518) .moveTo(540, 1518).moveTo(862, 1518).moveTo(862, 1195) .release().perform();
作者:
秋水潺流
时间:
2015-7-28 13:11
好贴要顶
作者:
zh_kk
时间:
2015-7-29 07:52
不懂
作者:
灰灰渣渣
时间:
2016-4-30 10:42
好帖子,特别是获取当前页面的activity用来断言
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2