Nightwatch:检索新会话时发生错误

Posted

技术标签:

【中文标题】Nightwatch:检索新会话时发生错误【英文标题】:Nightwatch : An occurred error while retrieving a new session 【发布时间】:2018-10-12 08:50:47 【问题描述】:

在我的 react 项目中,我想使用 nightwatch 作为测试工具。我实际上在 windows 上使用 Nightwatch v1.0.4 和 selenium-server-standalone-3.9.1.jar。

这是我的配置(nightwatch.json):


  "src_folders": [
    "tests"
  ],
  "output_folder": "reports",
  "custom_commands_path": "",
  "custom_assertions_path": "",
  "page_objects_path": "",
  "globals_path": "",
  "disable_colors": false,
  "test_workers": false,
  "selenium": 
    "start_process": true,
    "host": "localhost",
    "port": 4444,
    "server_path": "./bin/selenium-server-standalone-3.9.1.jar",
    "log_path": "./logs",
    "cli_args": 
      "webdriver.chrome.driver": "./bin/chromedriver"
    
  ,
  "desiredCapabilities": 
    "browserName": "chrome",
    "acceptSslCerts": true
  ,
  "test_settings": 
    "default": 
      "webdriver": 
        "server_path": "./bin/chromedriver",
        "cli_args": [
          "--log",
          "debug"
        ]
      ,
      "disable_colors": false,
      "screenshots": 
        "enabled": false,
        "path": ""
      ,
      "request_timeout_options": 
        "timeout": 60000,
        "retry_attempts": 5
      ,
      "default_path_prefix" : "",
      "desiredCapabilities": 
        "browserName": "chrome",
        "acceptInsecureCerts": true
      
    ,
    "chrome": 
      "webdriver": 
        "port": 9515,
        "default_path_prefix": "",
        "server_path": "./bin/chromedriver",
        "cli_args": [
          "--verbose"
        ]
      ,
      "desiredCapabilities": 
        "browserName": "chrome",
        "loggingPrefs": 
          "driver": "INFO",
          "server": "OFF",
          "browser": "INFO"
        
      
    
  

还有我的测试文件(tests/index.js):

const host = 'http://localhost:3000'

module.exports = 
    'Demo test' : function (browser) 
        browser
            .url('http://google.com')
            .waitForElementVisible('body', 1000)
            .pause(5000)
            .end();
    

当我运行nightwatch 时,它给了我以下错误:

谁能告诉我我做错了什么?

【问题讨论】:

您的 Chrome 和 ChromeDriver 版本是多少? Chrome : v65.0.3325.181 (官方版本) (64-bit) & ChromeDriver : v2.9 ChromeDriver 版本 我已经更新了我的答案。我正在使用 32 位,因为我没有找到 64 位 (chromedriver.storage.googleapis.com/index.html?path=2.9) 请阅读为什么是screenshot of HTML or code or error is a bad idea。考虑使用基于格式化文本的相关 HTML、代码试验和错误堆栈跟踪来更新问题。 【参考方案1】:

您的 ChromeDriver 版本 - 您提到的 v2.9 已经很旧了。

在 ChromeDriver 下载 page 时,根据您的 Chrome 版本,您应该使用高于 2.36 的 ChromeDriver 版本 - 我会推荐最新的 2.38

【讨论】:

我已将 ChromeDriver 版本更改为 2.37,然后是 2.38,但仍然出现相同的错误。 尝试设置start_process": false,并检查独立版本是否为3.11。 我将 start_process 更新为 false,这就是我得到的:[索引] 测试套件 ================== POST /session - ECONNREFUSED错误:连接 ECONNREFUSED 127.0.0.1:4444 检索新会话时发生错误:Socket.socketErrorListener (_http_client.js:310:9) 处的“连接 ECONNREFUSED 127.0.0.1:4444”

以上是关于Nightwatch:检索新会话时发生错误的主要内容,如果未能解决你的问题,请参考以下文章

mysql pdo 事务和会话存储

如何在 `charge.succeeded` Webhook 上检索 Stripe 的 `ClientReferenceId`?

无法检索 Flutter 项目中 Graphql 突变中发生的错误

尝试解码 Jwt 令牌时出现“尝试解码 Jwt 时发生错误:无法检索远程 JWK 集:”错误

移动浏览器会针对每个请求启动新会话

雪花 JDBC 驱动程序内部错误:无法检索第一个箭头块的行数:null - 仅发生在 SELECT 语句上