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;@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"); capabilities);}@Afterpublic void tearDown() throws Exception { driver.quit();} //截屏并保存至本地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();} 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"//获取当前界面的activity,可用于断言是否跳转到预期的activity
driver.currentActivity();//打开通知栏界面driver.openNotifications();//获取网络状态int status = driver.getNetworkConnection().value;System.out.println(status);//设置网络状态driver.setNetworkConnection(new NetworkConnectionSetting(status));//或者driver.setNetworkConnection(new NetworkConnectionSetting(false, true, false));//启动其他应用,跨APPdriver.startActivity("com.android.camera", ".CameraLauncher");//自动滑动列表driver.scrollTo("text");//或者driver.scrollToExact("text"); //安装APPdriver.installApp(appPath);//判断应用是否已安装driver.isAppInstalled("package name");//拖动相机图标至日历图标位置new TouchAction(driver).longPress(driver.findElementByName("相机")).moveTo(driver.findElementByName("日历")).release().perform(); //锁屏driver.lockScreen(2);//判断是否锁屏driver.isLocked(); //发送按键事件driver.sendKeyEvent(AndroidKeyCode.HOME);<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>Appium中部分api的使用方法的更多相关文章
- appium 中部分 api 的使用方法
使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java-client-2.1.0-javadoc. 1.使用Andr ...
- VC中常见API函数使用方法(经验版)
***********************************************声明*************************************************** ...
- 移动端自动化测试(二)之 Appium常用的API(python)函数介绍
上一章节已经介绍了Appium的环境搭建,其实只要掌握了Appium的工作原理,前期的准备工作和安装过程是比较简单的.那么当我们搭建好Appium环境后接下来做些什么呢?通常思路是开始appium的第 ...
- Appium 自动化测试(8) -- Appium Python client -- API
最好的学习方法,就是看源码! 在 \appium\webdriver\webdriver.py ,新增了两个封装好定位安卓元素的方法,如 find_element_by_accessibility ...
- appium中driver.wait报IllegalMonitorStateException的解释
在写appium代码的时候,有的人想使用wait方法,写成:driver.wait(),结果抛出异常:IllegalMonitorStateException,看了appium client的api文 ...
- Appium之UIAutomator API选择元素
UI Automator测试框架提供了一组API来构建UI测试. 利用UI Automator API可以执行在测试设备中,打开‘设置’菜单或应用启动器等操作. UI Automator测试框架非常适 ...
- appium自动化常用API
常用函数 一.获得信息类API (1)获取当前页面的activity名,比如: (.ui.login.ViewPage) current_activity() 比如我们需要实现这个登录的功能时,主要 ...
- Appium之常用API
Appium常用API解析 1.current_activity:获取当前页面的activity名,比如com.taobao.tao.TBMainActivity 或 com.taobao.brows ...
- 转载:WinForm中播放声音的三种方法
转载:WinForm中播放声音的三种方法 金刚 winForm 播放声音 本文是转载的文章.原文出处:http://blog.csdn.net/jijunwu/article/details/4753 ...
随机推荐
- UVa 11987 Almost Union-Find(支持删除操作的并查集)
传送门 Description I hope you know the beautiful Union-Find structure. In this problem, you’re to imple ...
- mysql 函数 GROUP_CONCAT 单元格中最长字符串和excel导出问题
GROUP_CONCAT 使用方式GROUP_CONCAT ([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) SELECT ...
- CodeForces 165C Another Problem on Strings(组合)
A string is binary, if it consists only of characters "0" and "1". String v is a ...
- js 无线弹窗
无限弹窗 function fad(action){ alert('); ht = setTimeout() } fad(); fad()能放在 $().ready() 里面,效果也一样
- centos apache svn配置
单独安装svn服务: 安装svn软件 yum install subversion 创建根目录 mkdir -p /var/www/svn 创建版本库repos svnadmin create /va ...
- mac系统小记
1.设置 ls 命令结果的颜色 默认的 ls 是没有颜色的,可以通过设置 CLICOLOR 和 LSCOLORS 两个环境变量来实现.其中,CLICOLOR 是用来设置是否进行颜色的显示(CLI: ...
- 2015.4.20 Canvas Jquery 移动端 JavaScript
1.分享效果:弹窗Canvas渲染大图. 2.进度条中表现进度百分比的数值d%,根据进度的增长“字体颜色”为了表示清晰也随着变化 解决方法:参考Demo. 3.输入框保持查询参数,结果列表局部 ...
- 如何删除PHP数组中的元素,并且索引重排(unset,array_splice)?
如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排: <?php $arr = array('a','b','c','d'); unset($arr[1]); pri ...
- Apache不重新编译,利用apxs工具给Apache添加模块,如cgi模块
想实践下Apache是如何运行cgi程序的,却发现先前编译安装Apache的时候,没有安装Apache的cgi模块. 附:CentOS6.x编译安装LAMP(2):编译安装 Apache2.2.25 ...
- Linux/CentOS优化配置 汇总
[强烈要求做的]CentOS启用sudo,禁用root远程登录 Linux命令行修改IP.网关.DNS.主机名 的方法 Linux开机直接进入“命令行”模式 更改CentOS 6.x yum源为国内1 ...