运行样本夜巡测试时卡在"Starting selenium server"



nightwatch.js有一些问题-我有一个现有的项目目录,正在尝试安装它。我遵循了一篇教学文章,但当我尝试运行测试时,它无法启动selenium服务器,并被卡住。如果有人能告诉我问题出在哪里会很有帮助。我使用的是Windows 10,我正在尝试在Chrome中运行测试。

这是我的nightwatch.json配置文件-我从头开始做的,这就是为什么它不长的原因:

{
"src_folders" : ["tests"],
"output_folder" : "reports",
"custom_commands_path" : "",
"custom_assertions_path" : "",
"page_objects_path" : "",
"globals_path" : "",
"selenium" : {
"start_process" : true,
"server_path" : "lib/selenium/selenium-server-standalone-3.6.0.jar",
"start-session" : true,
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "lib/chromedriver",
"webdriver.ie.driver" : ""
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_port"  : 4444,
"selenium_host"  : "localhost",
"silent": true,
"screenshots" : {
"enabled" : false,
"path" : ""
},
"chrome" : {
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}

}
}
}
}

这是我在测试文件夹中的唯一测试,它看起来像这样:

module.exports = {   'Demo test Google' : function (browser) {
browser
.windowMaximize()
.url('http://www.google.com')
.waitForElementVisible('body', 1000)
.setValue('input[type=text]', 'nightwatch')
.waitForElementVisible('button[name=btnG]', 1000)
.click('button[name=btnG]')
.pause(1000)
.assert.containsText('#main', 'Night Watch')
.end();   } };

我的复制步骤:

  1. 将CMD和CD打开到我的项目/lib/selenium文件夹中,然后运行行

java-jar硒服务器-标准-3.6.0.jar这将启动selenium服务器而不会出现任何问题。2.接下来,在一个单独的控制台中,我CD到我的项目根文件夹中,并运行命令行

node nightwatch.js -t tests/sample.js

然后显示"启动selenium服务器…",但实际上并没有打开任何浏览器或运行任何测试。它保持在这种状态,如果我想再试一次,我必须关闭命令控制台并重新打开它。

我在这里做错了什么?

提前感谢各位。

我可以建议在测试用例中添加标记,并尝试使用init()初始化浏览器:

module.exports = {
'@tags': ['demo-test'],
'Trying first demo test': (browser) => {
browser
.init()
.url('http://www.google.com')
.waitForElementVisible('body', 1000)
...(all the assertions you need)...
};

除此之外,您不需要在单独的终端窗口中启动selenium服务器——守夜人应该自己启动。因此,在终端中,只需cd到您的项目文件夹中,然后键入nightwatch即可开始运行整个设置。

我遇到了同样的问题,并在正确检查了nightwatch.json文件中的所有路径后修复了它。请确保您为chrome驱动程序和selenium指定了正确的路径。我注意到你忘记了chrome驱动程序上的文件扩展名,试试

"webdriver.chrome.driver" : "lib/chromedriver.exe",

最新更新