appium-Android的驱动程序
Appium Android Driver是Android设备的测试自动化工具。Appium Android驱动程序自动化原生的,混合的和移动的Web应用程序,在模拟器,仿真器和真实设备上进行测试。Appium Android驱动程序是Appium移动测试自动化工具的一部分。
注意:此repo的问题跟踪已被禁用。请改用主要的Appium问题追踪器。
安装
npm install appium-android-driver
用法
导入Android驱动程序,设置所需功能并创建会话:
import { AndroidDriver } from `appium-android-driver`
let defaultCaps = {
app: 'path/to/your.apk',
deviceName: 'Android',
platformName: 'Android'
};
let driver = new AndroidDriver();
await driver.createSession(defaultCaps);
运行命令:
await driver.setOrientation('LANDSCAPE');
console.log(await driver.getOrientation()); // -> 'LANDSCAPE'
指定和选择设备/仿真器
驱动程序将根据desiredCapabilities对象中的这些属性尝试连接到设备/仿真器:
avd:以给定的名称启动或连接到仿真器。udid:使用给定的UDID连接到设备。platformVersion:连接到操作系统以所需操作系统开始的第一个设备或主动仿真器。这意味着如果有多个可用,将从输出中platformVersion: 5获取第一个5x设备adb devices。
如果没有给出这些功能,驱动程序将连接到从输出返回的第一个设备或主动仿真器adb devices。
如果给出了这些功能中的多个功能,驱动程序将仅使用上述顺序的功能。那就是avd优先考虑udid,优先考虑platformVersion。
命令
command
activateIMEEngine
availableIMEEngines
back
background
clear
click
complexTap
deactivateIMEEngine
defaultContextName
defaultWebviewName
doKey
doTouchAction
doTouchDrag
drag
elementDisplayed
elementEnabled
elementSelected
fakeFlick
fakeFlickElement
findElOrEls
fixRelease
flick
getActiveIMEEngine
getAlertText
getAttribute
getContexts
getCurrentActivity
getCurrentContext
getDeviceTime
getDisplayDensity
getLocationInView
getLog
getLogTypes
getName
getNetworkConnection
getOrientation
getPageSource
getScreenshot
getSize
getStrings
getSystemBars
getText
getWindowSize
hideKeyboard
installApp
isAppInstalled
isIMEActivated
isKeyboardShown
isLocked
isWebContext
keyevent
keys
lock
longPressKeyCode
onChromedriverStop
openNotifications
openSettingsActivity
parseTouch
performGesture
performMultiAction
performTouch
pinchClose
pinchOpen
postAcceptAlert
postDismissAlert
pressKeyCode
pullFile
pullFolder
pushFile
removeApp
replaceValue
reset
setAlertText
setContext
setGeoLocation
setLocation
setNetworkConnection
setOrientation
setValue
setUrl
startActivity
startChromedriverProxy
stopChromedriverProxies
suspendChromedriverProxy
swipe
tap
toggleData
toggleFlightMode
toggleLocationServices
toggleSetting
toggleWiFi
touchDown
touchLongClick
touchMove
touchUp
unlock
unlockWithHelperApp
unlockWithUIAutomation
wrapBootstrapDisconnect
API备注
lock在Android中的行为与iOS中的行为不同。在Android中,它没有任何参数,并锁定屏幕并立即返回。
Development
Transpile ES2015 code
gulp transpile
Watch
npm run watch
Test
npm test
一些测试需要特定的仿真器。目前它们有两个方面:
- API级别25:将
ANDROID_25_AVD环境变量设置为avd的名称,或默认为"Nexus_5_API_25"。如果不存在,则跳过测试。 - API级别24:将
ANDROID_24_NO_GMS_AVD环境变量设置为avd的名称,或默认为"Nexus_5_API_24"。如果不存在,则跳过测试。
一些测试还需要特定版本的Chromedriver(特别是2.20),该test/assets文件夹中可用,或者可以使用 CHROME_2_20_EXECUTABLE环境变量指定。
appium-Android的驱动程序的更多相关文章
- 安卓自动化测试:Android studio 自带的 Record Espresso Test || [ Appium & (Android studio || Python|| Eclipse ) ]
1.Android studio 自带的 Record Espresso Test https://developer.android.com/studio/test/espresso-test-r ...
- Appium Android Bootstrap控制源代码的分析AndroidElement
通过上一篇文章中<Appium Android Bootstrap源代码分析之简单介绍>我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一 ...
- Appium Android Bootstrap源码分析之启动运行
通过前面的两篇文章<Appium Android Bootstrap源码分析之控件AndroidElement>和<Appium Android Bootstrap源码分析之命令解析 ...
- Appium Android Bootstrap源码分析之命令解析执行
通过上一篇文章<Appium Android Bootstrap源码分析之控件AndroidElement>我们知道了Appium从pc端发送过来的命令如果是控件相关的话,最终目标控件在b ...
- Appium Android Bootstrap源码分析之控件AndroidElement
通过上一篇文章<Appium Android Bootstrap源码分析之简介>我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一个初步的 ...
- Android内核驱动程序的编写和编译过程
注意:涉及的代码为android内核代码而不是android源码. 在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非ip ...
- Appium 【已解决】提示报错:Attempt to re-install io.appium.android.ime without first uninstalling.
详细报错:Failed to install D:\AutoTest\appium\Appium\node_modules\appium\build\unicode_ime_apk\UnicodeIM ...
- 关于Appium android input manager for Unicode 提示信息
Appium调完输入法后,会弹出 Appium android input manager for Unicode 提示信息相关的提示信息,每次运行如此,如下图 网络上查找一遍,基本解决了,只要在设 ...
- jenkins+appium android app自动化测试
jenkins安装 pytest+jenkins安装+allure报告 新建任务 其他默认,保存 立即构建 test_login.py from src.pages import login_page ...
- Appium Android 元素定位方法 原生+H5
APPIUM Android 定位方式 1.定位元素应用元素 1.1通过id定位元素 Android里面定位的id一般为resrouce-id: 代码可以这样写: WebElement eleme ...
随机推荐
- 使用PowerShell下载必应图片
今天想聊聊POWERSHELL对于WEB页面的一些应用,本人也是最近才发觉其实PS也是可以做爬虫的...所以想抛砖引玉给大家一个思路. 这次要用到的主要命令是 invoke-webrequest 先来 ...
- QUartus 使用之001_空格_箭头切换----FPGA--001
Quartus里的Tab键,按下后,显示的为什么是箭头,以前显示的是空白,图片如下: 解决方式如下: 修改后效果图如下:
- DZY Loves Chemistry
DZY Loves Chemistry time limit per test 1 second memory limit per test 256 megabytes input standard ...
- [CSP-S模拟测试]:Revive(点分治)
题目背景 $Sparkling\ ashes\ drift\ along\ your\ flames \\ And\ softly\ merge\ into\ the\ sky$ 题目传送门(内部题1 ...
- 微博API的申请
https://segmentfault.com/a/1190000012548487
- (转)Docker network命令
转:https://blog.csdn.net/gezhonglei2007/article/details/51627821 原文地址:https://docs.docker.com/engine/ ...
- APPium连接真机输入框中输入的内容与代码中不一致
今天解决了上一个问题,又碰到了一个新的问题. 问题:连接真机输入框中输入的内容与代码中不一致. 描述: 想实现登录页面输入用户名和密码自动登录,可是在输入用户名和密码的框中输入的内容总是与代码中的不一 ...
- html常用代码
<marquee width="70%" scrollamount="2">大家好</marquee> // 大家好 字符从左到右 ...
- Intel CPUs
http://en.wikipedia.org/wiki/Intel_cpus List of Intel Atom microprocessors List of Intel Xeon microp ...
- 如果遇到找不到元素如何处理? Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"id","selector":"investmentframe"}
常见几种原因与应对,详细参见http://www.blogjava.net/qileilove/archive/2014/12/11/421309.html 1,动态ID无法找到,用xpath路径解决 ...