Вы можете просто создать файл типа caps.js
в папке config
для хранения матрицы возможностей:
const caps = {}
caps.android6 = {
platformName: 'Android',
automationName: 'UiAutomator2',
deviceName: <device name>,
appWaitActivity: <activity name>,
appWaitPackage: <package name>,
androidInstallTimeout: 90000,
app: <path to app>
}
caps.android5 = {
platformName: 'Android',
platformVersion: '5.0',
automationName: 'UiAutomator2',
...
}
caps.default = {...}
module.exports = caps
если вы используете wd.js
, вы можете создать драйвер следующим образом:
const path = require('path')
const caps = require(path.resolve('config','caps'))
const wd = require('wd')
const server = {host: 'localhost', port: 4723}
const capabilities = caps[
process.env('caps') !== 'undefined'
? process.env['caps']
: 'default'
]
const driver = wd.promiseChainRemote(server)
await driver.init(capabilities)
И когда вы запускаете тесты, вы можете сделать это как export caps=android6 && npm run tests
, где tests
- это скрипт, который вы указали в package.json для запуска ваших тестов mocha. В этом случае android6
используются данные из caps.js.
Тот же подход, который вы можете использовать для предоставления учетных данных:
export login=user@gmail.com password=124356 && npm run tests
и в своих тестах вы можете прочитать его через process.env