原创内容,未经允许,禁止转载!

driver.close();//关闭
driver.closeApp();//关闭应用,其实就是按home键把应用置于后台
driver.currentActivity();//获取当前activity,比如:com.alipay.mobile.nebulacore.ui.H5Activity$H5Activity1,可用于断言是否跳转到预期的activity
driver.endTestCoverage(intent, path);//结束测试覆盖率的检测。(没用过,不太了解)path为.ec文件的路径。
driver.equals(obj);//相等
driver.execute(driverCommand, parameters);
driver.executeAsyncScript(script, args);
driver.executeScript(script, args);
driver.get(url);//跳转到url页面
driver.getAppStrings();//获取应用的字符串 默认系统语言对应的Strings.xml文件内的数据。
driver.getAppStringMap(); //获取应用的字符串
driver.getAppStringMap(language);//查找某一个语言环境对应的字符串文件Strings.xml内数据
driver.getCapabilities();//获取setCapability里面设置的内容
driver.getClass();//获取class名
driver.getCommandExecutor();
driver.getConnection();//获取网络连接状态:WiFi,移动数据 setConnection(connection);//设置手机的网络连接状态,
driver.getContext();//设置上下文 (context),对hybrid app会用到返回的是NATIVE_APP或webview
driver.context(name);//切换到native或webview,填入的那么值为NATIVE_APP或webview
driver.getContextHandles();//获取当前所有的NATIVE_APP或webview //可用上下文,context可以理解为可进入的窗口,如果是native则为native_app,如果是webview为对应webview;
driver.getCurrentUrl();//返回当前的url针对的是H5的webview
driver.getDeviceTime();//获取设备时间
driver.getErrorHandler();//每次代码执行到这一步就报错,不知道是为什么,可能是获取了ErrorHandler
driver.getExecuteMethod();//一次尝试返回的是io.appium.java_client.AppiumExecutionMethod@544d57e
driver.getFileDetector();//一次尝试返回的是org.openqa.selenium.remote.UselessFileDetector@55c53a33
driver.getKeyboard();//一次尝试返回的是org.openqa.selenium.remote.RemoteKeyboard@53b7f657
driver.getMouse();//一次尝试返回的是org.openqa.selenium.remote.RemoteMouse@797b0699
driver.getOrientation();//获取当前屏幕的方向 driver.rotate(orientation);//设置屏幕横屏或者竖屏
driver.getPageSource();//获取 ui automator viewer里面显示的内容
driver.getRemoteAddress();//一次尝试返回的是http://localhost:4723/wd/hub获取的就是driver的配置
driver.getScreenshotAs(outputType);//截图
driver.getSessionDetails();//返回的是setCapability里面设置的内容
driver.getSessionId();//一次尝试返回的是1d024a7b-aec1-4c63-a369-bee743216688
driver.getSettings();//一次尝试返回的是{"ignoreUnimportantViews":false}
driver.getTitle();//获取title
driver.getW3CStandardComplianceLevel();//一次尝试返回的是 0
driver.getWindowHandle();//获取当前窗口的Handle
driver.getWindowHandles();//获取已打开所有窗口的Handle

driver.toggleLocationServices();
driver.hashCode();
driver.hideKeyboard();//隐藏键盘
driver.ignoreUnimportantViews(compress);
driver.installApp(appPath);//安装app,appPath为应用的本地路径
driver.isAppInstalled(bundleId);//根据包名来判断该应用是否已经安装
driver.isLocked();
driver.launchApp();//启动应用
driver.location();
driver.lockDevice();//锁屏多少秒后解锁,lockScreen已经弃用
driver.longPressKeyCode(key);//按下某个键,具体哪个键由key值决定,key值定义在AndroidKeyCode类中。。sendKeyEvent在新版已经被删掉
driver.longPressKeyCode(key, metastate);//按下某个键的同时按下附加键(Ctrl/Alt/Shift等),具体是哪些键,由key值(AndroidKeyCode类中定义)和metastate(AndroidKeyMetastate类中定义)决定。
driver.manage();
driver.moveTo(WebElement el);//以el为目标,从另一个点移动到该目标上 moveTo(int x, int y)以(x,y)点为目标,从另一个点移动到该目标上
driver.moveTo(WebElement el, int x, int y);//以控件el的左上角为基准,x轴向右移动x单位,y轴向下移动y单位。以该点为目标,从另一个点移动到该点上。
driver.navigate();//driver.navigate().forward(); // 前进navigate().back(); // 后退navigate().refresh(); // 刷新
driver.notify();
driver.notifyAll();
driver.openNotifications();//下拉屏幕显示设置
driver.performMultiTouchAction(multiAction);//执行多步touch动作,由MultiTouchAction封装的多步操作。
driver.performTouchAction(touchAction)//执行一个touch动作,该touch动作是由TouchAction封装的。
driver.pinch(el);//2个手指操作控件,从对角线向中心点滑动,双指往内移动来缩小屏幕
driver.pressKeyCode(key, metastate);//key是keycode这里的metastate实际上就是控制按键,比如说shift键,alt键,ctrl键等控制键
driver.pullFile(remotePath);//将设备上的文件pull到本地硬盘上
driver.pullFolder(remotePath)//将设备上的文件夹pull到本地硬盘上,一般远程文件为/data/local/tmp下的文件。
driver.pushFile(remotePath, base64Data);//将字符数组用64位格式写到远程目录的某个文件中。也可以理解为把本地文件push到设备上。
driver.pushFile(remotePath, file);//也可以理解为把本地文件push到设备上。
driver.removeApp(bundleId);//卸载app.bundleId在Android中代表的是包名 installApp(“path/to/my.apk”) //安装应用
driver.resetApp();//重置应用,相当于卸载重装 .重启应用,先closeApp然后在launchAPP
driver.rotate(orientation);//设置屏幕横屏或者竖屏
driver.sendKeyEvent(int key);//按下某个键,具体哪个键由key值决定,key值定义在AndroidKeyCode类中
driver.sendKeyEvent(int key, Integer metastate);//按下某个键的同时按下附加键(Ctrl/Alt/Shift等),具体是哪些键,由key值(AndroidKeyCode类中定义)和metastate(AndroidKeyMetastate类中定义)决定。
driver.runAppInBackground(seconds);//将当前活跃的应用放在后台运行.与resetApp类似,区别是resetApp关闭后立即启动,而这个方法是关闭后等待seconds秒后再启动。
driver.setConnection(connection);//设置手机的网络连接状态,可以开关蓝牙、wifi、数据流量。通过NetworkConnectionSetting中的属性来设置各个网络连接的状态。
driver.setErrorHandler(handler);
driver.setFileDetector(detector);
driver.setLocation(location);
driver.setLogLevel(level);
driver.startActivity(appPackage, appActivity);//在当前应用中打开一个 activity 或者启动一个新应用并打开一个 activity
driver.swipe(startx, starty, endx, endy, duration);//滑动
driver.switchTo();//跳转到 如driver.switchTo().window(handle);
driver.scrollTo(String text)//滚动到某个text属性为指定的字符串的控件
driver.scrollToExact(String text)//滚动到某个text属性包含传入的字符串的控件
driver.tap(fingers, element, duration);//坐标点击driver.tap(1, x坐标, y坐标,1)
driver.toggleLocationServices();
driver.toString();
driver.unlockDevice();
driver.wait(timeout, nanos);
driver.zoom(x, y);//driver.zoom(el);与pinch(el)的动作刚好相反。放大,两个手指由控件的中心点慢慢向控件的左顶点后右底点滑动。

我对照着看了appium-client的官方文档,然后对着demo演示,发现一些个别API都找不到,查了下资料才发现,问题出现在:
public static AppiumDriver driver;
如果改成这样就ok了:public static AndroidDriver driver;
这里要说下AppiumDriver和AndroiDriver的关系,AndroidDriver已经继承了AppiumDriver,在AppiumDriver基础上再封装一些基本功能。

而AppiumDrvier是原生 webdriver的子类,所以一些webdriver的方法都是适用的。

因此我推荐适用实例化AndroiDriver对象。

appium API java的更多相关文章

  1. (转载)中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  2. 中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  3. appium(6)-parts of appium api

    parts of appium api Lock Lock the screen.//锁屏. // java driver.lockScreen(3); // objective c [driver ...

  4. 篇4 安卓app自动化测试-Appium API进阶

    篇4                 安卓app自动化测试-Appium API进阶 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试& ...

  5. Java之Date Time API (Java 8 新特性)

    Java 8 – Date Time API Java 8 comes with a much improved and much required change in the way date an ...

  6. appium API接口

    appium API接口 标签(空格分隔): appium常用api 1.contexts contexts(self) 返回当前会话的上下文,使用可以识别H5页面的控件: driver.contex ...

  7. Appium(JAVA)Windows 7系统搭建及示例运行

    Appium(JAVA)Windows 7系统搭建及示例运行 分类: Appium 2014-11-14 17:44 4323人阅读 评论(2) 收藏 举报 1.搭建Android环境 http:// ...

  8. java appium api

    Appium中部分api的使用方法,有需要的朋友可以参考下. 使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java ...

  9. Appium之java API

    AppiumDriver getAppStrings() 默认系统语言相应的Strings.xml文件内的数据. driver.getAppStrings(String language) 查找某一个 ...

随机推荐

  1. ubuntu 安装 qt等软件

    1 ubuntu安装qt4 sudo apt-get install qt4-dev-tools qt4-designer qt4-doc qt4-qtconfigqt4-demos qt4-qmak ...

  2. lnmp集成开发环境安装pdo_dblib扩展

    php连接mssql,获取的结果中文乱码,pdo_dblib扩展使用的是apt-get install php5-sybase方法安装的,尝试了修改freetds.conf php.ini 文件编码 ...

  3. highCharts图表应用-模拟心电图

    通过前两章的学习,相信大家对highcharts已经有了初步的了解.这一章将通过一个例子来模拟Highcharts如何实现经常变化的数据显示. 比如说股票的涨停.实时篮球比分以及A选手和B选手的支持率 ...

  4. 【vijos】1791 骑士的旅行(特殊的技巧)

    https://vijos.org/p/1791 暴力的话只想到bfs,然后估计是状态超了才得20分. 噗,为啥暴力就不能想得简单点QAQ.....这种思想很好啊. 这一题我看了题解后不得不说我竟然没 ...

  5. 【vijos】1768 顺序对的值(特殊的技巧)

    https://vijos.org/p/1768 之前不知道为什么,我yy了一个n^2的做法,但是没能写出来..sad 然后看了题解才发现这题好神.. 为什么一定要照着题意找两个点然后算呢?这就是问题 ...

  6. 【BZOJ】3390: [Usaco2004 Dec]Bad Cowtractors牛的报复(kruskal)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3390 .. #include <cstdio> #include <cstring ...

  7. Oracle菜鸟之怎样创建和删除表空间

    1.创建暂时表空间 创建表空间时,dbf文件一般存放在datafile文件的存放文件夹下(通常是在实例名命名的文件夹以下) 能够通过 select * from v$datafile;查看全部数据文件 ...

  8. C/C++求职宝典重点笔记

    这是我之前准备找工作时看<C/C++求职宝典>一书做的笔记,都是一些笔试面试中常考的重点难点问题,但比较基础,适合初学者看. 1. char c = '\72'; 中的\72代表一个字符, ...

  9. 《从零开始学Swift》学习笔记(Day 56)——命名规范Swift编码规范之命名规范

    原创文章,欢迎转载.转载请注明:关东升的博客 程序代码中到处都是自己定义的名字,取一个有样并且符合规范的名字非常重要. 命名方法很多,但是比较有名的,广泛接受命名法有: 匈牙利命名,一般只是命名变量, ...

  10. angualar入门学习-- 自定义指令 指令编译执行过程

    3个阶段: 一.加载阶段 加载angular.js的源码,找到ng-app确定应用边界范围. 二.编译阶段 compile 查找所有指令,保存在一个列表中 对所有指令按优先级(property属性值) ...