#node.js #jenkins #tfs #nightwatch.js
#node.js #Дженкинс #tfs #nightwatch.js
Вопрос:
Я хотел бы реализовать CI / CD с тестами пользовательского интерфейса, которые я написал, для автоматического запуска моего Nightwatch.js тест проводите каждую ночь. Я попытался скопировать свои файлы в рабочую область в jenkins и запустить их. Я пытался использовать TFS в качестве системы контроля версий, чтобы посмотреть, сможем ли мы заставить ее работать таким образом. Проблема, с которой я продолжаю сталкиваться (см. Прилагаемое), заключается в том, что при локальном запуске браузер Chrome открывается и отлично выполняет тесты. Однако в Jenkins говорится, что он не может найти элемент. Я исследовал, как запускать chrome без головы, но я по-прежнему получаю ту же ошибку, когда добавляю тег —headless в свой конфигурационный файл nightwatch.json. Итог, как я могу получить Nightwatch.js тесты будут выполняться по расписанию на ночь? (желательно в jenkins)
Пробовал запускать тесты из системы управления версиями tfs, пробовал запускать тесты из локальных тестов, скопированных в jenkins workspace. пробовал запускать безголовые тесты (локально работает, Дженкинс не работает)https://developers.google.com/web/updates/2017/04/headless-chrome
Вот мой файл nightwatch.json.
{
"src_folders" : ["tests"],
"output_folder" : "reports/XMLReports",
"custom_commands_path" : "",
"custom_assertions_path" : "",
"page_objects_path" : "dealer",
"globals_path" : "",
"test_workers": false,
"selenium": {
"cli_args": {
"webdriver.chrome.driver" : "node_modules/.bin/chromedriver.cmd",
"webdriver.gecko.driver" : "node_modules/.bin/geckodriver.cmd",
"webdriver.edge.driver" : "node_modules/.bin/edgedriver.cmd"
},
"log_path": "",
"port": 4460,
"server_path": "lib/drivers/selenium-server-standalone-3.141.59.jar",
"start_process": true
},
"test_settings" : {
"chrome" : {
"launch_url" : "http://localhost",
"selenium_port" : 4460,
"selenium_host" : "127.0.0.1",
"silent": true,
"screenshots" : {
"enabled" : false,
"path" : "screenshots/Chrome/"
},
"desiredCapabilities": {
"browserName": "chrome",
"chromeOptions":{
"args": [
"disable-web-security",
"ignore-certificate-errors",
"--test-type",
"--disable-gpu",
"--headless",
"--remote-debugging-port=9222"
]
}
}
},
"edge" : {
"desiredCapabilities": {
"browserName": "MicrosoftEdge"
}
}
}
}
Я бы ожидал, что мои тесты будут выполняться в jenkins нормально и предоставят мне подробный отчет, если он прошел или не прошел в пользовательском интерфейсе.
Ответ №1:
Похоже, что .windowMaximize() вызывал зависание и сбой моих тестов в Jenkins.
Комментарии:
1. как мне это сделать?
2. @Jackson это была просто проблема .windowMaximize()?