拒绝连接!硒服务器是否在边缘启动了守夜

时间:2018-09-28 07:41:51

标签: javascript selenium selenium-webdriver nightwatch.js selenium-server

我已经创建了一个项目。这是一个vue.js应用程序。有少量的单元测试(玩笑)和端到端测试(守夜)。

当我尝试使用npm运行端到端测试时,我得到:

Error retrieving a new session from the selenium server

Connection refused! Is selenium server started?
{ value:
   { message: 'Unable to create session from org.openqa.selenium.remote.NewSessionPayload@16b328bc\nBuild info: version: \'3.12.0\', revision: \'7c6e0b3\', time: \'2018-05-08T15:15:08.936Z\'\nSystem info: host:
\'SYNERGY02\', ip: \'192.168.1.41\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_181\'\nDriver info: driver.version: unknown',
     error: 'session not created' },
  status: 33 }

我不知道我可能会错过什么。这让我困了一个多星期

这是nightwatch.json

  

在D:\ xxx \ test \ bin \ myedgedriver.exe中找到路径

     

在D:\ xxx \ test \ e2e \ nightwatch.conf.js中找到路径

require('babel-register')
var config = require('../../config')

// http://nightwatchjs.org/gettingstarted#settings-file
module.exports = {
  src_folders: ['test/e2e/specs'],
  output_folder: 'test/e2e/reports',
  custom_assertions_path: ['test/e2e/custom-assertions'],

  selenium: {
    start_process: true,
    server_path: require('selenium-server').path,
    host: '127.0.0.1',
    port: 4444,
    cli_args: {
      "webdriver.edge.driver": "../bin/MicrosoftWebDriver.exe",
      'webdriver.chrome.driver': require('chromedriver').path,
    }
  },

  test_settings: {
    default: {
      selenium_port: 4444,
      selenium_host: 'localhost',
      silent: true,
      globals: {
        devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port)
      }
    },

    chrome: {
      desiredCapabilities: {
        browserName: 'chrome',
        javascriptEnabled: true,
        acceptSslCerts: true
      }
    },

    firefox: {
      desiredCapabilities: {
        browserName: 'firefox',
        javascriptEnabled: true,
        acceptSslCerts: true
      }
    },
    edge: {
      desiredCapabilities: {
        browserName: 'edge',
        javascriptEnabled: true,
        acceptSslCerts: true,
        nativeEvents: true
      }
    }
  }
}

和我的窗口版本。

1803 (os build 17134.285)

我的edgewebdriver版本。

Release 17134
Version: 6.17134 | Edge version supported: 17.17134 

我的边缘浏览器版本。

Microsoft Edge 42.17134.1.0

最后是package.json ver。中的我的守夜人。

 "nightwatch": "^0.9.12"
"selenium-server": "^3.0.1"

1 个答案:

答案 0 :(得分:0)

此错误消息...

Error retrieving a new session from the selenium server

Connection refused! Is selenium server started?
{ value: { message: 'Unable to create session from org.openqa.selenium.remote.NewSessionPayload@16b328bc\nBuild info: version: \'3.12.0\', revision: \'7c6e0b3\', time: \'2018-05-08T15:15:08.936Z\'\nSystem info: host: \'SYNERGY02\', ip: \'192.168.1.41\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_181\'\nDriver info: driver.version: unknown', error: 'session not created' }, status: 33 }

...表示连接到 Selenium Server 时出错。

Selenium Server 日志会为我们提供更多导致精确出错的线索。

但是,目标测试环境与下面的现有 Test Environment 之间似乎存在差异:

  • 您提到了:

    • package.json版本的我的守夜版本:"selenium-server": "^3.0.1"
  • 但是您的错误跟踪日志中提到:

    • {{1}中的version: \'3.12.0\'

解决方案

  • 确保您的 Test Environment 配置了一组唯一的 Selenium Server 二进制文件。
  • 在启动time: \'2018-05-08T15:15:08.936Z\之前,请确保通过以下命令启动 Selenium Server

    @Tests
  • 如果要使用本机事件功能,请在命令行中使用以下选项进行指示:

    java -jar <path_to>/selenium-server-standalone-<version>.jar
    
  • 要获取其他命令行选项的帮助,请执行:

    -Dwebdriver.enable.native.events=1
    
  • 您可以在以下位置找到类似的详细讨论: