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 ...
随机推荐
- 【原创】自己动手写工具----签到器[Beta 1.0]
一.写在前面 最近公司没有什么项目,想通过项目练练手的机会也没有,只能自己学习了,因此空下来的时间也挺多的,就打开网页看看吧,哎,一打开就让签到(像什么百度知道啊.百度云盘啊之类的),我签到的目的是获 ...
- rsync数据同步备份
一.rsync简介 (1)rsync是什么? rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. (2)rsync作用比较 远程拷贝:有点类似ssh的scp ...
- Android Studio中JNI程序的单步调试和日志打印
近日有个算法(检测碰撞)需要用C++实现,目的是IOS和ANDROID中共享同一段程序. 下面说说android调用这段程序过程中遇到的一些事情.(过程中网上搜索了一些相关文章,大部分说的是eclip ...
- 牛顿法|阻尼牛顿法|拟牛顿法|DFP算法|BFGS算法|L-BFGS算法
一直记不住这些算法的推导,所以打算详细点写到博客中以后不记得就翻阅自己的笔记. 泰勒展开式 最初的泰勒展开式,若 在包含 的某开区间(a,b)内具有直到n+1阶的导数,则当x∈(a,b)时,有: ...
- 淘宝分布式NOSQL框架:Tair
Tair 分布式K-V存储方案 tair 是淘宝的一个开源项目,它是一个分布式的key/value结构数据的解决方案. 作为一个分布式系统,Tair由一个中心控制节点(config server)和一 ...
- mysql 递归查询
1.创建表: DROP TABLE IF EXISTS `t_areainfo`; CREATE TABLE `t_areainfo` ( `id` ) ' AUTO_INCREMENT, `) ', ...
- ActiveMQ启动多个broker
具体步骤如下: 1.把activemq目录下的conf文件复制一份,叫做conf2, 命令: cp -r conf conf2 2.修改conf2目录下的activemq.xml文件 a.修改brok ...
- Spring3.0目录
(1)Spring 入门知识 (2)IoC/DI基本思想的演变 (3)深入理解IoC/DI (4)Spring的简单demo
- WSDL2java简单使用
一.使用工具WSDL2java把接口转为本地可调用的.java文件 工具的目录结构: 设置WSDL2Java(URL).bat中的参数 set Axis_Lib=.\lib set Java_Cmd= ...
- C和指针 第十一章 习题
1编写calloc,内部使用malloc函数获取内存 #include <stdio.h> #include <stdlib.h> void *myAlloc(unsigned ...