Всем привет.
Столкнулся с проблемой запуска тестов на нескольких симуляторах ios одновременно (на одной локальной машине).
К сожалению, не могу нагуглить как это сделать. Кто-то сталкивался с подобной задачей?
Всем привет.
Столкнулся с проблемой запуска тестов на нескольких симуляторах ios одновременно (на одной локальной машине).
К сожалению, не могу нагуглить как это сделать. Кто-то сталкивался с подобной задачей?
Не скажу конкретно о симуляторах, но думаю подход должен быть таким же как и с реальным девайсом.
Появилась новая проблема, тесты выполняются не совсем параллельно. Т.е. например есть 3 симулятора и 3 теста, по идее каждый симулятор должен взять по 1-му тесту (Так я ожидал) Но вместо этого 3 теста проходили на каждом симуляторе, в итоге было запущено не 3 теста на 3 симуляторах, а 9 тестов на 3-х симуляторах.
Хотелось бы посмотреть как вы задаете паралельность выполнения тестов.
да вот в принципе никак) А как надо?
вот мои конфиги:
Возможно надо использовать каким-то образом конфиги WebdriverIO, поскольку я его указываю его когда мои тесты запускаются:
./node_modules/.bin/wdio ./ui-tests/src/mobile-e2e/config/wdio.ios.browser.conf.js
exports.config = {
// ====================
// Runner and framework
// Configuration
// ====================
runner: 'local',
framework: 'jasmine',
jasmineNodeOpts: {
// Updated the timeout to 30 seconds due to possible longer appium calls
// When using XPATH
defaultTimeoutInterval: 90000,
requireModule: ['@babel/register'],
},
sync: true,
logLevel: 'debug',
deprecationWarnings: true,
bail: 0,
baseUrl: 'http://localhost:3000/',
waitforTimeout: 10000,
connectionRetryTimeout: 90000,
connectionRetryCount: 1,
reporters: [ 'spec' ],
// ====================
// Appium Configuration
// ====================
services: [ 'appium' ],
appium: {
args: {
// For arguments see
// https://github.com/webdriverio/webdriverio/tree/master/packages/wdio-appium-service
},
command: 'appium',
},
port: 4729,
// ====================
// Some hooks
// ====================
// beforeSession: (config, capabilities, specs) => {
// require('@babel/register');
// },
};
const { config } = require('./wdio.shared.conf');
// ============
// Specs
// ============
config.specs = [
'./ui-tests/src/mobile-e2e/specs/**/*.spec.js',
];
// ============
// Capabilities
// ============
config.capabilities = [
{
browserName: 'safari',
platformName: 'iOS',
maxInstances: 1,
wdaLocalPort: 8100,
'appium:deviceName': 'iPhone X',
'appium:platformVersion': '12.4',
'appium:orientation': 'PORTRAIT',
'appium:automationName': 'XCUITest',
'appium:newCommandTimeout': 240,
},
{
browserName: 'safari',
platformName: 'iOS',
maxInstances: 1,
wdaLocalPort: 8200,
'appium:deviceName': 'iPhone 5s',
'appium:platformVersion': '11.4',
'appium:orientation': 'PORTRAIT',
'appium:automationName': 'XCUITest',
'appium:newCommandTimeout': 240,
},
];
exports.config = config;