nata-device

2.0.4 • Public • Published

nata-device


nata-device is an abstract of android device based on adbkit, which provides high level api such as click ,textinput and much more.

Requirements

  • Nodejs >= 4.3.2
  • adb

Getting started

$ npm install --save nata-device

Example

First make sure that the device with deviceId is connnected to the computer and can access by adb,then

import Device from 'nata-device'

const deviceId = 'xxxxx'
const device = new Device(deviceId)
const component = 'SamplePackage/.sampleActivity'

device.startActivity(component).then(() => {
  console.log('done')
})

Static methods

getOnlineDevices()

  • get online connected devices
  • devices An array of device objects. Device { id , type : enum[emulator, device, offline]}
  • @return {Promise } devices[Device]

isDeviceOnline(deviceId)

  • check if device is online
  • @param deviceId device id
  • @returns {boolean} whether device is online

API

constructor(deviceId)

The constructor of Device class

import Device from 'nata-device'

const deviceId = 'xxxxx'
const device = new Device(deviceId)

sleep(ms)

  • sleep for ms time
  • @param {Integer} ms time in ms
  • @return {Promise}

adbshell(cmd)

  • run adb shell commmand and get the output
  • @param {String} cmd command to run
  • @return {Promise}

clearAppData(pkg)

  • clear app data of pkg
  • @param {String} pkg - pkg to be cleared
  • @return {Promise} wheather success to delete

click(x, y)

  • click (x,y)
  • @param {String} x - coordinate x
  • @param {String} y - coordinate y
  • @return {Promise}

sendKeyEvent(keycode)

back()

  • press back key of the device
  • @return {Promise}

getFocusedPackageAndActivity()

  • get current focused package and activity
  • @return {Promise}

getCurrentPackageName()

  • get current package name
  • @return {Promise}

getCurrentActivity()

  • get current activity
  • @return {Promise}

dumpUI(target)

  • Dump ui xml and pull it to target file(default :local temp file)
  • @return {Promise} resolve the target xml file

startActivity(component)

  • start activity
  • @param {String} component pkg/act
  • @return {Promise}

pullFile(source, target)

  • pull file from device to local file system
  • @param {String} source src file path of the device
  • @param {String} target target file path of the local file system
  • @return {Promise} target file path

getOnlineDevices()

  • get online connected devices
  • devices An array of device objects. Device { id , type : enum[emulator, device, offline]}
  • @return {Promise }

shell(cmd)

  • run shell command and get the output
  • @param {String} cmd to run
  • @return {Promise}

logcat()

getPermissions(pkg)

  • getPermissions pkg
  • @param {String} pkg package of the app
  • @return {Promise} permissions [String]

getGrantedPermissions(pkg)

  • adb shell dumpsys package com.cvicse.zhnt | grep android.permission
  • get granted permissions
  • @param {String} pkg package of the app
  • @return {Promise} permissions [String] granted permissions

getNotGrantedPermissions(pkg)

  • get not granted permissions
  • @param {String} pkg package of the app
  • @return {Promise} notGrantedPermissions [String] not granted permissions

install(apk)

  • install apk
  • @param {String} apk path
  • @return {Promise}

getDeviceInfo()

  • get device info including name,id,version,sdk,cpu,manufactur and resolution
  • @returns {Promise}

DeviceInfo

  • name
  • id
  • verison
  • sdk
  • cpu
  • manufactur
  • resolution

Readme

Keywords

none

Package Sidebar

Install

npm i nata-device

Weekly Downloads

1

Version

2.0.4

License

none

Unpacked Size

186 kB

Total Files

72

Last publish

Collaborators

  • theoutcast