diff --git a/lib/build-wda.js b/lib/build-wda.js new file mode 100644 index 000000000..8c44a6206 --- /dev/null +++ b/lib/build-wda.js @@ -0,0 +1,30 @@ +import { WebDriverAgent } from 'appium-webdriveragent'; +import { translateDeviceName, getAndCheckXcodeVersion, getAndCheckIosSdkVersion } from './utils'; +import { getExistingSim } from './simulator-management'; +import { asyncify } from 'asyncbox'; + +const DEFAULT_SIM_NAME = 'iPhone 12'; + +// TODO: allow passing in all the various build params as CLI args +async function build () { + const xcodeVersion = await getAndCheckXcodeVersion(); + const iosVersion = await getAndCheckIosSdkVersion(); + const deviceName = translateDeviceName(iosVersion, DEFAULT_SIM_NAME); + const device = await getExistingSim({ + platformVersion: iosVersion, + deviceName + }); + const wda = new WebDriverAgent(xcodeVersion, { + iosSdkVersion: iosVersion, + platformVersion: iosVersion, + showXcodeLog: true, + device, + }); + await wda.xcodebuild.start(true); +} + +if (require.main === module) { + asyncify(build); +} + +export default build; diff --git a/package.json b/package.json index 0c8951b02..58e450bb8 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ ], "mainClass": "XCUITestDriver", "scripts": { - "build-wda": "./node_modules/appium-webdriveragent/Scripts/build-webdriveragent.js" + "build-wda": "./build/lib/build-wda.js" } }, "main": "./build/index.js",