Appium中部分api的使用方法
来源:互联网 发布:网络接线盒 编辑:程序博客网 时间:2024/05/29 17:04
使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java-client-2.1.0-javadoc。
1.使用AndroidDriver,其已经继承了AppiumDriver
private AndroidDriver driver;@Beforepublic 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);}@Afterpublic 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内容为"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(new String(Base64.decodeBase64(resultDate))); //打印结果为"test"
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.
//安装APPdriver.installApp(appPath);//判断应用是否已安装driver.isAppInstalled("package name");10.
//拖动相机图标至日历图标位置 new TouchAction(driver).longPress(driver.findElementByName("相机")) .moveTo(driver.findElementByName("日历")).release().perform();11.
//锁屏driver.lockScreen(2);//判断是否锁屏driver.isLocked();12.
//发送按键事件driver.sendKeyEvent(AndroidKeyCode.HOME);
13.
<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);
0 0
- Appium中部分api的使用方法
- 整点 appium 中部分 api 的使用方法
- Appium中部分api的使用方法
- 整点 appium 中部分 api 的使用方法
- Appium中部分api的使用方法
- Appium中部分api的使用方法
- Appium中部分api的使用方法
- Appium中部分api的使用方法
- Appium中部分api的使用方法
- Appium中部分api的使用方法
- Appium中部分api的使用方法
- 数据库中部分简单的
- API中部分类的学习
- STL中部分算法的英文说明
- TinyXML中部分函数的使用
- sqlMapConfig.XML中部分字段的意义
- perl 中部分正则表达式的标记
- 网络中部分设备的连接
- 工作日志
- Android相关问题的好文章整理——温故而知新,可以为师矣
- Tachyon 的 安装部署
- hdu 2153 仙人球的残影新解法(可以利用蛇阵来解决哦!)
- 安装SQL server出现“启用windows功能NetFx3”错误
- Appium中部分api的使用方法
- hdu4509 湫湫系列故事——减肥记II (离散化思想)
- OJ数组之在一组从小到大的数列中插入一个数后的重新排序
- Apache SolrCloud安装
- 20140108
- Mac OS X终端命令
- ios (推送)之本地推送
- node-webkit Tips
- 我国国家基本比例尺