Я использую Nightwatch с BrowserStack для запуска набора тестов на Ms Edge 17 и получаю следующую ошибку в большинстве сборок.
Error retrieving a new session from the selenium server
Connection refused! Is selenium server started?
{
value: { message: 'Could not start Browser / Emulator' },
sessionId: '',
status: 13
}
У нас точно такой же код работает в браузере Chrome в BrowserStack без каких-либо проблем.
Этот пакет работает параллельно с использованием рабочих. Если я отключу рабочих, то это пройдет, к сожалению, нам нужно использовать параллельное выполнение, иначе набор займет слишком много времени.
Я выложу наш конфигурационный файл ниже.
var seleniumJar = require('selenium-server-standalone-jar')
var nightwatchWorkers = parseInt(process.env.NIGHTWATCH_WORKER_THREADS) || 1
var chromeDriver = process.env.CHROME_DRIVER_PATH || './drivers/chromedriver'
var msEdgeDriverPath = process.env.MSEDGE_DRIVER_PATH || './drivers/MicrosoftWebDriver.exe'
var ie11DriverPath = process.env.MSIE11_DRIVER_PATH || './drivers/IEDriverServer.exe'
var localDockerPort = 4444
var browserStackPort = 80
var browserStackHost = 'hub-cloud.browserstack.com'
var browserStackScreenResolution = '1920x1200'
module.exports = {
src_folders: ['./tests'],
output_folder: './results',
live_output: true, //set to false so each thread will output the whole result of the test when it's done
silent: true,
custom_commands_path: './commands',
custom_assertions_path: './assertions',
page_objects_path: './pages',
test_workers: {
enabled: true,
workers: nightwatchWorkers
},
selenium: {
start_process: false,
server_path: seleniumJar.path,
log_path: './results',
port: localDockerPort,
cli_args: {
'webdriver.chrome.driver': chromeDriver,
'webdriver.edge.driver': msEdgeDriverPath,
'webdriver.ie.driver': ie11DriverPath
}
},
test_settings: {
default: {
launch_url: 'http://localhost',
selenium_host: '127.0.0.1',
selenium_port: localDockerPort,
silent: true,
disable_colors: false,
screenshots: {
enabled: true,
on_failure: true,
path: './results/screenshots'
},
desiredCapabilities: {
browserName: 'chrome',
resolution: browserStackScreenResolution,
javascriptEnabled: true,
acceptSslCerts: true,
elementScrollBehavior: 1,
project: 'megarepo',
build: process.env.BROWSERSTACK_BUILD_ID,
'browserstack.user': process.env.BROWSERSTACK_USER,
'browserstack.key': process.env.BROWSERSTACK_KEY
},
globals: require('./data/dev')
},
browserstack_msedge: {
selenium: {
port: browserStackPort
},
selenium_host: browserStackHost,
selenium_port: browserStackPort,
detailed_output: false,
desiredCapabilities: {
os: 'Windows',
os_version: '10',
browserName: 'Edge',
browser_version: '17.0',
resolution: browserStackScreenResolution
}
}
}
}
У нас точно такой же код работает в браузере Chrome в BrowserStack без каких-либо проблем.
Этот пакет работает параллельно с использованием рабочих. Если я отключу рабочих, то это пройдет, к сожалению, нам нужно использовать параллельное выполнение, иначе набор займет слишком много времени.