+import { onBrowserStackComplete, onBrowserStackPrepare } from './src/utils'
import { config as mainConfig } from './wdio.main.conf'
const user = process.env.BROWSERSTACK_USER
}
}
-function buildBStackMobileOptions (sessionName: string, deviceName: string, osVersion: string) {
+function buildBStackMobileOptions (sessionName: string, deviceName: string, osVersion: string, appiumVersion?: string) {
return {
'bstack:options': {
...buildMainOptions(sessionName),
realMobile: true,
osVersion,
- deviceName
+ deviceName,
+
+ appiumVersion
}
}
}
{
browserName: 'Safari',
- ...buildBStackMobileOptions('Safari iPhone', 'iPhone 8 Plus', '11')
+ ...buildBStackMobileOptions('Safari iPhone', 'iPhone SE', '11')
},
{
browserName: 'Safari',
connectionRetryTimeout: 240000,
waitforTimeout: 20000,
+ specs: [
+ // We don't want to test "local" tests
+ './src/suites-all/*.e2e-spec.ts'
+ ],
+
services: [
[
'browserstack', { browserstackLocal: true }
]
],
- after: function (result) {
- if (result === 0) {
- browser.executeScript('browserstack_executor: {"action": "setSessionStatus", "arguments": {"status":"passed","reason": ""}}', [])
- } else {
- browser.executeScript('browserstack_executor: {"action": "setSessionStatus", "arguments": {"status":"failed","reason": ""}}', [])
+ onWorkerStart: function (_cid, capabilities) {
+ if (capabilities['bstack:options'].realMobile === true) {
+ capabilities['bstack:options'].local = false
}
- }
+ },
+
+ onPrepare: onBrowserStackPrepare,
+ onComplete: onBrowserStackComplete
+
} as WebdriverIO.Config
}