Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

appium-youiengine-driver

Package Overview
Dependencies
Maintainers
3
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appium-youiengine-driver

Appium You.i Engine application driver

  • 1.2.9
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
3
Created
Source

Appium You.i Engine Driver

Appium You.i Engine Driver is a test automation tool for devices of various platforms running applications built with You.i Engine. Appium You.i Driver automates You.i Engine applications, tested on simulators and real devices. Appium You.i Driver is part of the Appium mobile test automation tool.

iOS Support

Appium You.i Engine Driver supports iOS versions 8+

Android Support

Appium You.i Engine Driver supports Android versions 4.1+ (API level 16+)

Installation

npm install appium-youiengine-driver

Desired Capabilities

Desired capabilities (caps) are a set of keys and values (i.e., a map or hash) sent to the Appium server to tell the server what kind of automation session we’re interested in starting up. These caps are defined in the appium.txt file. There are various capabilities which can modify the behavior of the server during automation.

CapabilityDescriptionValues
youiEngineAppAddressThe IP address of the device on which the app is running. localhost for simulator. Device’s IP address for a real devicelocalhost, <device’s IP address>
youiEngineAppPortThe socket port used by the app.Default: 12345, Default for PS4: 40123
fullSourceTreeSets the source tree to use all elements (not only displayed ones)Default: false
maxRetryCountHow many times to retry socket connections before abortingDefault: 3

Minimum required capabilities per platform

Below is a sample of the minimum required caps per platform.

iOS
CapabilitySimulatorReal device
app<path to the app><path to the app>
automationNameYouiEngineYouiEngine
deviceName<iOS Simulator device name><device’s name>
platformNameiOSiOS
platformVersion<iOS version><iOS version>
udid<device’s udid><device’s udid>
xcodeOrgId<Team ID><Team ID>
youiEngineAppAddresslocalhost<device’s IP address>
Android
CapabilityReal deviceEmulator
app<path to the app><path to the app>
automationNameYouiEngineYouiEngine
deviceName<cannot be left blank><cannot be left blank>
udid<device’s ID><device’s ID>
platformNameAndroidAndroid
youiEngineAppAddress1<device’s IP address>localhost
avdN/A<Android Virtual Device Name>

1 For emulator, Port forwarding is required to forward the port from the host machine to the emulated device. Use the following command: adb forward tcp:12345 tcp:12345

macOS

Support added in 5.0+

CapabilityReal device
app<path to the app>
automationNameYouiEngine
deviceName<cannot be left blank>
platformNameMac
youiEngineAppAddresslocalhost
You.i macOS (does not use appium-mac-driver)

Support added in 5.0+

CapabilityReal device
app<path to the app>
automationNameYouiEngine
deviceName<cannot be blank>
platformNameYIMac
showXcodeLog1true
youiEngineAppAddresslocalhost

1 Optional.

You.i Linux

Support added in 5.0+

CapabilityReal device
app<path to the app>
automationNameYouiEngine
deviceName<cannot be blank>
platformNameYiLinux
youiEngineAppAddresslocalhost
You.i tvOS

Support added in 5.0+ * If another app is installed with You.i's socket, it may connect to it. All You.i apps should be deleted before running Appium.

CapabilityReal device
app<path to the app>
automationNameYouiEngine
deviceName<cannot be blank>
platformNameYItvOS
udid<device’s udid>
youiEngineAppAddress<device’s IP address>
tvOS

Support added in 5.0+ * If another app is installed with You.i's socket, it may connect to it. All You.i apps should be deleted before running Appium.

CapabilitySimulatorReal device
app<path to the app><path to the app>
automationNameYouiEngineYouiEngine
deviceName<tvOS Simulator device name><device’s name>
platformNametvostvos
udid<device’s udid><device’s udid>
xcodeOrgId<Team ID><Team ID>
youiEngineAppAddresslocalhost<device’s IP address>
BlueSky

Support added in 5.0+

CapabilityReal device
app<path to the app>
automationNameYouiEngine
channelId1<App's channel ID>
deviceName<cannot be blank>
password<dev account password>
platformNameBlueSky
username<dev account username>
youiEngineAppAddress<device’s IP address>

1 Optional (default is dev)

Connect to App

To connect to an already launched app. Useful for debugging app or testing a platform which currently doesn't have install/launch/close/remove methods.

CapabilityReal device
app1<cannot be blank>
automationNameYouiEngine
deviceName<cannot be blank>
platformNameConnectToApp
youiEngineAppAddress<device’s IP address>

1 Some libraries will look to validate the app path so you may need to add a valid app path even though it will not be installed.

Notes:

  • For iOS 8+, set the following on your device: Settings -> Developer -> Set UI Automation -> true
  • xcodeOrgId
  • Android device name: found using adb devices

Supported Commands

CommandEngine Version Support
Clear Element4.2.5+
Click4.2.1+
Execute Mobile Command15.5.0+
Find Element24.2.1+
Find Elements24.2.1+
Get Element Attribute34.2.1+
Get All Contexts4.2.1+
Get Current Context4.2.1+
Get Element Location4.2.5+
Get Element Size4.2.5+
Get Element Text4.2.7+
Get Page Source4.2.1+
Get Window Size4.4.5+
Go Back5.0+
Hide Keyboard5.2.0+
Is Element Displayed4.2.5+
Is Element Enabled4.2.7+
Is Element Selected44.2.5+ (5.12+ for React Native projects)
Is Keyboard Shown5.2.0+
Long Tap4.2.7+
Move4.2.7+
Remove App4.2.1+
Retrieve Device Settings4.2.5+
Send Keys54.2.1+
Settings64.2.5+
Set Implicit Wait Timeout4.2.1+
Set Timeouts4.2.1+
Take Screenshot4.2.1+
Touch Down4.2.7+
Touch Up4.2.7+
Update Device Settings4.4.5+
Element Screenshot5.18.0+
Get Contextany
Get All Contextsany
Set Current Contextany

1 See Mobile commands below

2 See Selector strategies below

3 See Attributes below

4 Only works for toggle buttons (C++) and elements that have the Selected AccessibilityState property enabled (React Native)

5 Starting with 5.0, you can send a general keypress (not targeted at an element), by using sendkeys on the root element

6 See Settings below

Proxied Command (iOS, Android)
Background App
Close an App
GetLogs
Get available log types
Get Orientation
Get App Strings
Is App Installed
Launch App
Lock
Set Orientation
Proxied Command (iOS only)
Shake
Proxied Command (Android only)
Is Device Locked
Long Press Key Code
Press Key Code
Toggle Location Services
Unlock

Mobile Commands

CommandDescriptionArgumentArgument Example
mobile:pressButtonPress a physical button. The available button options can be found here{name}{name: "Gamepad0"}
mobile:shellExecute ADB shell commands (requires insecure feature adb_shell to be enabled)Read this page{'command': 'echo', 'args': ['arg1', 'arg2']}

Mobile Commands Example

Attributes

The following attributes can be queried using attribute

An attributes filter can be added to the supported search strategies (name, class, id, accessibility id) by appending the following format to the strategy value: [@attributeType='attributeValue']

Examples (Ruby):

find_element(name: "Title[@text='Big Buck Bunny']")

find_element(class: "PushButtonView[@isHittable='true']")

AttributeReturn TypeEngine Version Support
classNamestring4.5.1+
compositeOpacityfloat4.2.14+
hasOpacitybool4.5.1+
hasFocusbool4.5.1+
idstring4.5.1+
isEnabledbool5.0+
isDisplayedbool4.5.1+
isFullyDisplayedbool4.5.2+
isHittablebool4.5.1+
isHorizontalScrollingbool4.5.2+
isScrollingbool4.5.2+
isSelectedbool5.0+
localOpacityfloat4.2.14+
namestring4.2.1+
textstring4.5.1+
visibilityFlagbool4.5.1+

Settings

The following commands are used with getSettings and updateSettings

Examples (Ruby):

get_settings

update_settings TimeDilation: 10

update_settings SourceTreeFilter: "[@isDisplayed='true']"

Retrieve Settings Example

Update Settings Example

SettingsEngine Version SupportValue
TimeDilation4.4.5+float (>0)
SourceTreeFilter4.5.1+string (format: [@attributeType='attributeValue'])

Selector strategies

Supported selector strategies
name
id1
class name
accessibility id
1 Starting with 5.0, id selector can be used to search for React Native testID.

Hybrid Apps

To support hybrid application automation, we added a context called YOUI_APP that represents the current driver and another context called NATIVE_APP which represents the driver used under the hood

Attention ❗: In case a deeper context than NATIVE_APP is used and then you want to continue with YOUI_APP, make sure you switch back to NATIVE_APP first and only then to YOUI_APP

Platform NameAppium Driver
ios, tvosappium-xcuitest-driver
androidappium-uiautomator2-driver
macappium-mac-driver

Keywords

FAQs

Package last updated on 16 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc