从 selenium 服务器检索新会话时出错
Error retrieving a new session from the selenium server
我是第一次尝试设置 Nightwatch.js。我正在学习以下教程:https://github.com/dwyl/learn-nightwatch
不幸的是,我遇到了障碍,我需要帮助解决它。
Error retrieving a new session from the selenium server.
Connection refused! Is selenium server started?
nightwatch.conf.js
module.exports = {
"src_folders": [
"test"// Where you are storing your Nightwatch e2e/UAT tests
],
"output_folder": "./reports", // reports (test outcome) output by nightwatch
"selenium": {
"start_process": true, // tells nightwatch to start/stop the selenium process
"server_path": "./node_modules/nightwatch/bin/selenium.jar",
"host": "127.0.0.1",
"port": 4444, // standard selenium port
"cli_args": {
"webdriver.chrome.driver" : "./node_modules/nightwatch/bin/chromedriver"
}
},
"test_settings": {
"default": {
"screenshots": {
"enabled": true, // if you want to keep screenshots
"path": './screenshots' // save screenshots here
},
"globals": {
"waitForConditionTimeout": 5000 // sometimes internet is slow so wait.
},
"desiredCapabilities": { // use Chrome as the default browser for tests
"browserName": "chrome"
}
},
"chrome": {
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true // set to false to test progressive enhancement
}
}
}
}
几内亚-pig.js
module.exports = { // addapted from: https://git.io/vodU0
'Guinea Pig Assert Title': function(browser) {
browser
.url('https://saucelabs.com/test/guinea-pig')
.waitForElementVisible('body')
.assert.title('I am a page title - Sauce Labs')
.saveScreenshot('ginea-pig-test.png')
.end();
}
};
基于配置设置。我尽可能保持基本。我无法确定表明另一个 selenium 服务器已启动的来源。有什么想法吗?
编辑:超时错误
在您的 nightwatch.json 文件中 "selenium"
确保您的服务器路径正确。
确保您的 webdriver.chrome.driver 路径正确。
那些特定于您的机器。如果它们没有在正确的位置引用正确的文件,您将在启动 selenium 服务器时遇到问题。
之后,您要确保您拥有的 selenium 服务器版本与您拥有的 chrome 驱动程序版本兼容,并且能够与 Chrome 驱动程序版本兼容你有的浏览器。
但正如 Krishnan Mahadevan 所示,如果没有完整的错误消息,我们无法提供更多帮助。
解决方案涉及删除我的 Chrome 实例(尽管它是最新版本)并再次重新安装浏览器。
我鼓励所有面临相同问题的人首先查看上面 QualiT 的回复,因为这是更传统的故障排除策略。
我在项目中使用 vue-cli init
时遇到了同样的问题。我更新到Java 9后,这个问题就解决了
我是第一次尝试设置 Nightwatch.js。我正在学习以下教程:https://github.com/dwyl/learn-nightwatch
不幸的是,我遇到了障碍,我需要帮助解决它。
Error retrieving a new session from the selenium server. Connection refused! Is selenium server started?
nightwatch.conf.js
module.exports = {
"src_folders": [
"test"// Where you are storing your Nightwatch e2e/UAT tests
],
"output_folder": "./reports", // reports (test outcome) output by nightwatch
"selenium": {
"start_process": true, // tells nightwatch to start/stop the selenium process
"server_path": "./node_modules/nightwatch/bin/selenium.jar",
"host": "127.0.0.1",
"port": 4444, // standard selenium port
"cli_args": {
"webdriver.chrome.driver" : "./node_modules/nightwatch/bin/chromedriver"
}
},
"test_settings": {
"default": {
"screenshots": {
"enabled": true, // if you want to keep screenshots
"path": './screenshots' // save screenshots here
},
"globals": {
"waitForConditionTimeout": 5000 // sometimes internet is slow so wait.
},
"desiredCapabilities": { // use Chrome as the default browser for tests
"browserName": "chrome"
}
},
"chrome": {
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true // set to false to test progressive enhancement
}
}
}
}
几内亚-pig.js
module.exports = { // addapted from: https://git.io/vodU0
'Guinea Pig Assert Title': function(browser) {
browser
.url('https://saucelabs.com/test/guinea-pig')
.waitForElementVisible('body')
.assert.title('I am a page title - Sauce Labs')
.saveScreenshot('ginea-pig-test.png')
.end();
}
};
基于配置设置。我尽可能保持基本。我无法确定表明另一个 selenium 服务器已启动的来源。有什么想法吗?
编辑:超时错误
在您的 nightwatch.json 文件中 "selenium"
确保您的服务器路径正确。 确保您的 webdriver.chrome.driver 路径正确。
那些特定于您的机器。如果它们没有在正确的位置引用正确的文件,您将在启动 selenium 服务器时遇到问题。
之后,您要确保您拥有的 selenium 服务器版本与您拥有的 chrome 驱动程序版本兼容,并且能够与 Chrome 驱动程序版本兼容你有的浏览器。
但正如 Krishnan Mahadevan 所示,如果没有完整的错误消息,我们无法提供更多帮助。
解决方案涉及删除我的 Chrome 实例(尽管它是最新版本)并再次重新安装浏览器。
我鼓励所有面临相同问题的人首先查看上面 QualiT 的回复,因为这是更传统的故障排除策略。
我在项目中使用 vue-cli init
时遇到了同样的问题。我更新到Java 9后,这个问题就解决了