Package Exports
- node-simctl
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-simctl) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
node-simctl
ES6/7 Node wrapper around Apple's simctl binary, the "Command line utility to control the iOS Simulator". simctl is run as a sub-command of xcrun
Installation
Install through npm.
npm install node-simctlApi
Exported methods:
installApp(udid, appPath)
udid- the unique identifier of the simulator to which to install the applicationappPath- the path to the application to be installed
removeApp(udid, bundleId)
udid- the unique identifier of the simulator from which to remove the applicationbundleId- the bundle identifier of the application (e.g.,com.corp.app)
launch(udid, bundleId)
udid- the unique identifier of the simulator on which to launch the appbundleId- the bundle identifier of the application (e.g.,com.corp.app)
openUrl(udid, url)
udid- the unique identifier of the simulator on which to open the url (in safari)url- the url to navigate to
shutdown(udid)
udid- the unique identifier of the simulator to be stopped
createDevice(name, deviceType, runtime)
name- any name you choose for this simulatordeviceType- e.g.,"iPhone 6"or"iPad Air", see more possibilities from the output ofgetDevicesruntime- iOS sdk version. eg"8.3"
returns: udid of the created simulator.
deleteDevice(udid)
udid- the unique identifier of the simulator to be deleted
eraseDevice(udid)
udid- the unique identifier of the simulator to be erased
getDevices()
output looks like:
{
'7.1': [
{ name: 'iPhone 4s',
udid: 'C09B34E5-7DCB-442E-B79C-AB6BC0357417',
state: 'Shutdown' },
{ name: 'iPhone 5',
udid: 'B236B73C-8EFA-4284-AC1F-2A45F3286E4C',
state: 'Shutdown' },
{ name: 'iPhone 5s',
udid: '8E248C90-0F79-46AD-9CAA-8DF3B6E3FBA6',
state: 'Shutdown' },
{ name: 'iPad 2',
udid: 'B4179FA5-B9C4-4F79-BDDF-314ED66B889C',
state: 'Shutdown' },
{ name: 'iPad Retina',
udid: '707AC76E-319C-4215-BAF7-5D6D3B3BA4D2',
state: 'Shutdown' },
{ name: 'iPad Air',
udid: 'FA5C971D-4E05-4AA3-B48B-C9619C7453BE',
state: 'Shutdown' } ],
'8.1': [
{ name: 'iPhone 4s',
udid: '0829568F-7479-4ADE-9E51-B208DC99C107',
state: 'Shutdown' },
{ name: 'iPhone 5',
udid: 'B5048708-566E-45D5-9885-C878EF7D6D13',
state: 'Shutdown' },
{ name: 'iPhone 5s',
udid: '2F7678F2-FD52-497F-9383-41D3BB401FBD',
state: 'Shutdown' },
{ name: 'iPhone 6 Plus',
udid: '013D6994-B4E6-4548-AD77-C0D7C6C6D245',
state: 'Shutdown' },
{ name: 'iPhone 6',
udid: '1CA836DA-2A2D-428A-846D-C378E0C39B09',
state: 'Shutdown' },
{ name: 'iPad 2',
udid: '47D8FF29-4E76-4E7B-A412-FCE9C3B8A9AC',
state: 'Shutdown' },
{ name: 'iPad Retina',
udid: '82071785-2C47-4AF2-BD27-1FAF2B12DF32',
state: 'Shutdown' },
{ name: 'iPad Air',
udid: '342872EB-7559-4D42-B601-0FCF816B2E78',
state: 'Shutdown' },
{ name: 'Resizable iPhone',
udid: 'E46EFA59-E2B4-4FF9-B290-B61F3CFECC65',
state: 'Shutdown' },
{ name: 'Resizable iPad',
udid: '6DAB91C9-CCD1-4C17-9124-D765E2F0567A',
state: 'Shutdown' } ],
'8.3': [
{ name: 'iPhone 4s',
udid: '3D1A8D2A-615A-4C1E-A73C-91E92D6637FF',
state: 'Shutdown' },
{ name: 'iPhone 5',
udid: '813AAB6A-32C8-4859-A5CF-F3355C244F54',
state: 'Shutdown' },
{ name: 'iPhone 5s',
udid: '9D3A405E-65D6-4743-85DA-E644DA9A8373',
state: 'Shutdown' },
{ name: 'iPhone 6 Plus',
udid: 'D94E4CD7-D412-4198-BCD4-26799672975E',
state: 'Shutdown' },
{ name: 'iPhone 6',
udid: '26EAADAE-1CD5-42F9-9A4C-50554CDF0910',
state: 'Shutdown' },
{ name: 'iPad 2',
udid: 'C8E68217-82E6-42A8-8326-9824CA2E7C7C',
state: 'Shutdown' },
{ name: 'iPad Retina',
udid: '8F4A3349-3ABF-4597-953A-285C5C0FFD00',
state: 'Shutdown' },
{ name: 'iPad Air',
udid: '7DEA409E-159A-4730-B1C6-7C18279F72B8',
state: 'Shutdown' },
{ name: 'Resizable iPhone',
udid: 'F33783B2-9EE9-4A99-866E-E126ADBAD410',
state: 'Shutdown' },
{ name: 'Resizable iPad',
udid: 'DFBC2970-9455-4FD9-BB62-9E4AE5AA6954',
state: 'Shutdown' } ]
}spawn(udid, executablePath, env)
- spawns a process on the simulator specified by
udidwith given environment variable inenv
spawnSubProcess(udid, executablePath, env)
- spawns a process on the simulator specified by
udidwith given environment variable inenv - returns a (SubProcess)[https://github.com/appium/node-teen_process#teen_processsubprocess] object.
getScreenshot(udid)
- returns a base64 png screenshot of device specified by
udid
Usage
See specs for examples of usage.