Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium Jenkins/Ubuntu16夜视硒插座故障_Selenium_Jenkins_Selenium Chromedriver_Nightwatch.js_Xvfb - Fatal编程技术网

Selenium Jenkins/Ubuntu16夜视硒插座故障

Selenium Jenkins/Ubuntu16夜视硒插座故障,selenium,jenkins,selenium-chromedriver,nightwatch.js,xvfb,Selenium,Jenkins,Selenium Chromedriver,Nightwatch.js,Xvfb,问题: 我们正在Jenkins运行夜间监视测试,偶尔会出现以下错误: [0;31mConnection refused! Is selenium server started? [0m[0;90m{ Error: socket hang up at createHangUpError (_http_client.js:253:15) at Socket.socketCloseListener (_http_client.js:285:23) at emitOne (eve

问题:

我们正在Jenkins运行夜间监视测试,偶尔会出现以下错误:

[0;31mConnection refused! Is selenium server started?
[0m[0;90m{ Error: socket hang up
    at createHangUpError (_http_client.js:253:15)
    at Socket.socketCloseListener (_http_client.js:285:23)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at TCP._handle.close [as _onclose] (net.js:501:12) code: 'ECONNRESET' }[0m
其他地方推荐的修复程序已经存在:
export DBUS\u SESSION\u BUS\u ADDRESS=/dev/null

以下是我们运行测试的方式:

sudo npm install selenium-standalone -g

selenium-standalone install --version=3.0.1 --baseURL=https://selenium-release.storage.googleapis.com --drivers.chrome.version=2.28 --drivers.chrome.baseURL=https://chromedriver.storage.googleapis.com --basePath=bin 

sudo npm install nightwatch@0.9.13 -g && nightwatch --tag sanity --retries 1 --suiteRetries 1 
重建作业通常会成功运行测试。 软件版本:

铬:57

Chrome驱动程序:2.28

硒:3.0.1

NightWatch:0.9.13(如果最新版本有bug但没有更改,则从0.9.14降到0.9.13)

詹金斯:1.6倍

Ubuntu:16.04

使用xvfb

错误场景

直到大约两周前,当我们切换到Ubuntu 16时,测试一直运行良好,但那天它也开始在Ubuntu 14上运行

特别是当我们刚刚纺出一个新的Jenkins slave(AWS云)时,在测试开始的时候更频繁,但有时也发生在运行的中间。


我将感谢任何帮助或指点

我昨天也有同样的问题。 也许你可以改变Chrome的版本。 例如铬:55


当我更改selenium的chrome版本时,我们遇到了类似的问题,但我们的错误消息更具体:

Selenium已在端口####上运行。或其他服务。

解决方案是使用为环境变量分配可用端口号

从那里,我们可以像这样在globals.js中设置端口号(本地运行的默认端口号为4444):

portNumber:process.env.PORT|u NUMBER|4444,

在nightwatch.conf.js文件中,我们使用lodash模板替换nightwatch.json中的值,如下所示:

fs = require('fs'),
_ = require('lodash'),
template = _.template(fs.readFileSync('./nightwatch.json', 'utf8')),
settingsString,
settings;

settingsString = template({
    portNumber: globals.portNumber
});

settings = JSON.parse(settingsString);
module.exports = settings;
最后,在nightwatch.conf文件中,我们将所有端口引用的值设置为: