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对象中的这些属性尝试连接到设备/仿真器:

  1. avd:以给定的名称启动或连接到仿真器。
  2. udid:使用给定的UDID连接到设备。
  3. 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

  

一些测试需要特定的仿真器。目前它们有两个方面:

  1. API级别25:将ANDROID_25_AVD环境变量设置为avd的名称,或默认为"Nexus_5_API_25"。如果不存在,则跳过测试。
  2. API级别24:将ANDROID_24_NO_GMS_AVD环境变量设置为avd的名称,或默认为"Nexus_5_API_24"。如果不存在,则跳过测试。

一些测试还需要特定版本的Chromedriver(特别是2.20),该test/assets文件夹中可用,或者可以使用 CHROME_2_20_EXECUTABLE环境变量指定。

最新文章

  1. springmvc请求接收参数的几种方法
  2. poj2485 kruskal与prim
  3. ready和onload的区别
  4. linux自定义脚本添加到rc.local脚本无法正常运行的问题
  5. HDU 3047
  6. noi2006day2_最大获利 网络流
  7. Linux内核态抢占机制分析
  8. Android实时监听网络状态(2)
  9. 单引号、双引号 Html转义符 ----2014年12月2日
  10. graph driver-device mapper-04libdevmapper基本操作
  11. (一)关于java泛型的学习总结(泛型方法、泛型擦除)
  12. php垃圾回收
  13. easyUI返回类型total,rows
  14. MyDAL - is null && is not null 条件 使用
  15. css3+html5特效-向上滑动
  16. c++模板笔记
  17. 目录命令(cd)
  18. Xamarin iOS教程之键盘的使用和设置
  19. idea 设置字体
  20. Windows store app[Part 3]:认识WinRT的异步机制

热门文章

  1. HihoCoder - 1673 (单调队列)
  2. 在使用KVO遇到的一个问题
  3. Vue.js 计算属性
  4. 前端每日实战:23# 视频演示如何用纯 CSS 创作一个菜单反色填充特效
  5. 广播接收者实现IP拨号
  6. JS 获取json key和value
  7. Structured Streaming本地local运行小例子
  8. 新手学习 React 迷惑的点
  9. java web中的get和post(笔记)
  10. ANSI-2