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"
);
capabilities);
}
@After
public
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
));
//启动其他应用,跨APP
driver.startActivity(
"com.android.camera"
,
".CameraLauncher"
);
//自动滑动列表
driver.scrollTo(
"text"
);
//或者
driver.scrollToExact(
"text"
);
//安装APP
driver.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 ...
随机推荐
- elk系列6之tcp模块的使用
preface tcp模块的使用场景如下: 有一台服务器A只需要收集一个日志,那么我们就可以不需要在这服务器上安装logstash,我们通过在其他logstash上启用tcp模块,监听某个端口,然后我 ...
- 深入C#内存管理来分析值类型&引用类型,装箱&拆箱,堆栈几个概念组合之间的区别
C#初学者经常被问的几道辨析题,值类型与引用类型,装箱与拆箱,堆栈,这几个概念组合之间区别,看完此篇应该可以解惑. 俗话说,用思想编程的是文艺程序猿,用经验编程的是普通程序猿,用复制粘贴编程的是2B程 ...
- linux下常见解压缩命令
linux下常见的压缩文件格式有tar.gz.tar.gz.tar.bz2.zip等等.对于不同的压缩文件格式有对应的解压缩命令.下面就对此小结一下: 1.后缀为.tar 用 tar –xvf 解压 ...
- css清楚浮动的方法
- Unicode文件读取 出现隐藏字符 (大坑)
C#读取文件..分析时发现应该15位的.. str.Lenght 却 16位.. 字符串复制出来一位位的数..就是15位.. 纳闷中突然想起来会不会是隐藏字符.. 输出 str[0].ToBytes( ...
- Bash 什么时候会给 HOME 赋初始值
今天无意发现下面这个表现: $ env -i bash -c cd bash: line 0: cd: HOME not set $ env -i bash -c 'echo $HOME' 这表明了 ...
- 马化腾称春节前推出微信小程序
腾讯马化腾在第二届深商大会“互联与时代”论坛上透露,会在2017年春节前推出微信小程序.在谈到“互联网+”.开放生态等话题时,马化腾表示,腾讯从过去5年来,从封闭的环境变成一个开放的环境,变成一个真正 ...
- Git 简明教程
其他Git资料: Git Community Book 中文版
- C和指针 第十二章 结构体 整体赋值 error: expected expression
定义结构体后整体赋值时发生错误 typedef struct NODE { struct NODE *fwd; struct NODE *bwd; int value; } Node; //声明变量 ...
- cookie中文乱码
在学习当中碰到cookie中文乱码问题,问题原因:cookie对中文不太支持,将中文放入cookie中会报错误. 解决办法: 1.编码 将中文进行编码再放入cookie中: String userna ...