xamarin/appium-ios-driver

Name: appium-ios-driver

Owner: Xamarin

Description: The iOS driver for the new appium.

Forked from: appium/appium-ios-driver

Created: 2016-09-06 13:22:13.0

Updated: 2018-01-22 18:47:38.0

Pushed: 2017-09-22 14:15:57.0

Homepage: null

Size: 29663

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Build Status Coverage Status

Appium iOS Driver

Appium iOS Driver is a test automation tool for iOS devices. Appium iOS Driver automates native, hybrid and mobile web apps, tested on simulators and real devices. Appium iOS Driver is part of the Appium mobile test automation tool.

iOS Support

Appium iOS Driver supports iOS versions 8+

Installation
install appium-ios-driver
Usage

Import iOS Driver, set desired capabilities and create a session:

rt { IosDriver } from `appium-ios-driver`

defaultCaps = {
p: 'path/to/your.app',
atformName: 'iOS',
viceName: 'iPhone 6'


driver = new IosDriver();
t driver.createSession(defaultCaps);

Run commands:

t driver.setOrientation('LANDSCAPE');
ole.log(await driver.getOrientation()); // -> 'LANDSCAPE'
Commands

| Command | |—————————-| | active | | asyncScriptTimeout | | back | | background | | checkForAlert | | clear | | click | | clickButtonToLaunchSafari | | clickCoords | | clickCurrent | | clickWebCoords | | closeAlertBeforeTest | | closeApp | | closeWindow | | convertElementsForAtoms | | deleteCookie | | deleteCookies | | elementDisplayed | | elementEnabled | | elementSelected | | execute | | executeAsync | | executeAtom | | executeAtomAsync | | executeMobile | | findElOrEls | | findUIElementOrElements | | findUIElementsByXpath | | findWebElementOrElements | | flick | | flickElement | | forward | | getAlertText | | getAtomsElement | | getAttribute | | getContexts | | getContextsAndViews | | getCookies | | getCssProperty | | getCurrentContext | | getDeviceTime | | getLatestWebviewContextForTitle | | getLocation | | getLocationInView | | getLog | | getLogTypes | | getName | | getOrientation | | getPageSource | | getScreenshot | | getSimFileFullPath | | getSize | | getText | | getUrl | | getWindowHandle | | getWindowHandles | | getWindowSize | | handleTap | | hideKeyboard | | initAutoWebview | | isWebContext | | keys | | launchApp | | listWebFrames | | lock | | mobileRotation | | mobileScroll | | mobileShake | | mobileWebNav | | moveTo | | nativeTap | | nativeWebTap | | navToInitialWebview | | navToViewThroughFavorites | | navToViewWithTitle | | onPageChange | | parseElementResponse | | parseExecuteResponse | | parseTouch | | performMultiAction | | performTouch | | postAcceptAlert | | postDismissAlert | | pullFile | | pullFolder | | pushFile | | receiveAsyncResponse | | refresh | | setAlertText | | setContext | | setCookie | | setFrame | | setGeoLocation | | setOrientation | | setUrl | | setValue | | setValueImmediate | | setWindow | | stopRemote | | submit | | title | | translateWebCoords | | typeAndNavToUrl | | useAtomsElement | | useNewSafari | | waitForAtom | | webContextIndex | | webFlickElement | | xySpeedFlick |

Watch code for changes, re-transpile and run unit tests:

Test

For tests, the default sims required are an iOS 9.2 iPhone 6 and iPad 2, which you can create as follows if one doesn't already exist on your system (use xcrun simctl list to check first):

n simctl create "iPhone 6" "iPhone 6" 9.2
n simctl create "iPad 2" "iPad 2" 9.2

Then you can run unit and e2e tests:

nit tests:
 once

2e tests - specify your desired iOS version, for example iOS8.4:
CE=ios84 gulp e2e-test

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.