Я хочу запустить свой тест ночных часов в chrome, firefox и браузерах Microsoft. Более того, я хочу запустить один и тот же тест в каждой среде, такой как Staging, UAT во всех трех основных браузерах, и я не хочу использовать сервер Selen. Можно ли проводить кросс-браузерное тестирование без использования сервера Selen. Если мне нужно использовать selenium-server, предоставьте пример файла конфигурации с командой для запуска теста? Пожалуйста, найдите мой конфиг Nightwatch ниже. Я уже проверил документацию ночных часов для конфигурации сервера селена - https://nightwatchjs.org/gettingstarted/configuration/#selenium -server-settings , но не уверен, как использовать это с несколькими средами для одного и того же теста со всеми 3 различными браузерами.
const path = require('path');
const seleniumServer = require('selenium-server');
const chromeDriver = require('chromedriver');
const geckoDriver = require('geckodriver');
const edgeDriver = require('edgedriver');
module.exports = {
// An array of folders (excluding subfolders) where your tests are located;
// if this is not specified, the test source must be passed as the second argument to the test runner.
src_folders: "./tests",
output_folder : "./reports",
page_objects_path : "./pages",
//persist_globals:true,
custom_commands_path : ["./commands"],
custom_assertions_path : ["./custom-assertions"],
globals_path : "./globals/globals.js",
disable_colors: false,
// test_workers : false,
selenium:{
start_process: true,
start_session: false,
server_path: seleniumServer.path,
check_process_delay: 5000,
//log_path: '/logs',
host: '127.0.0.1',
port: 4444,
cli_args: {
"webdriver.chrome.driver": chromeDriver.path,
"webdriver.gecko.driver": geckoDriver.path,
"webdriver.edge.driver": edgeDriver.path
}
},
webdriver: {
start_process: false
},
/* webdriver: {
start_process: true,
//chrome port config
//port: 9515,
//firefox port config
port: 4444,
//setup for firefox driver
server_path: require('geckodriver').path,
//server_path: require('chromedriver').path,
cli_args: [
]
}, */
//node nightwatch tests/regression/login.js --env default --reporter html-reporter.js
test_settings: {
end_session_on_fail: false,
default: {
launchUrl : '*********',
skip_testcases_on_fail:false,
globals : {
Username:'*******',
Password:'*********',
inbox:'*******'
},
screenshots : {
enabled : false,
path : './reports/screenshots',
on_failure: true,
on_error: true
},
request_timeout_options: {
retry_attempts: 2
},
desiredCapabilities : {
browserName : 'chrome',
chromeOptions:{
args: ["incognito", "--no-sandbox", "--disable-infobars", "--disable-gpu", "--start-maximized"],
prefs: {
// disable chrome's annoying password manager
"profile.password_manager_enabled": false,
credentials_enable_service: false,
password_manager_enabled: false,
download: {
prompt_for_download: false,
directory_upgrade: true,
default_directory: path.join(__dirname+'/fileDownloads')
},
plugins: {
always_open_pdf_externally: true
}
}
}
},
},
SiteUAT: {
launchUrl : '************************',
globals : {
Username:'**********',
Password:'******',
envCurr:'*******',
},
desiredCapabilities : {
browserName: "firefox",
javascriptEnabled : true,
platform: 'ANY',
acceptInsecureCerts: true,
alwaysMatch: {
'moz:firefoxOptions': {
args: ["--private","--width=1600","--height=800"],
prefs: {
'browser.helperApps.alwaysAsk.force':false,
'browser.download.folderList':2,
//'browser.privatebrowsing.autostart':true,
'pdfjs.disabled':true,
'browser.helperApps.neverAsk.openFile':"application/pdf,application/zip",
'browser.helperApps.neverAsk.saveToDisk':"application/zip,application/octet-stream,image/jpeg,application/vnd.ms-outlook,text/html,application/pdf",
'browser.download.manager.showWhenStarting':false,
'browser.download.manager.useWindow':false,
'browser.download.manager.showAlertOnComplete': false,
'browser.download.dir': path.join(__dirname+'/fileDownloads'),
'browser.download.downloadDir': path.join(__dirname+'/fileDownloads'),
'browser.download.defaultFolder': path.join(__dirname+'/fileDownloads'),
}
}
}
}
},
},
};