无法通过 jenkins 运行 在 ec2 amazon linux 实例的 nightwatch 框架中测试用例

Not able to run test cases in nightwatch framework on ec2 amazon linux instance through jenkins

虽然 运行 通过 ec2 实例上的 jenkins 测试用例,但我收到错误消息。

这是我的守夜人配置:

{
    "src_folders" : ["test"],
    "globals_path": "globals.js",
    "output_folder" : "reports",
    "custom_commands_path" : "./commands",
    "custom_assertions_path" : "./assertions",
    "page_objects_path":"./pages",
    "test_workers" : {
        "enabled" : false, 
        "workers" : "auto"
      },


"selenium" : {
  "start_process" : true,
  "server_path" : "./bin/selenium-server-standalone-4.0.0.jar",
  "log_path" : "",
  "port" : 4444,
  "cli_args" : {
    "webdriver.chrome.driver" : "./bin/chromedriver_linux"
  }
},

"test_settings" : {
  "default" : {
    "request_timeout_options": {
      "timeout": 100000
    },
    "videos": {
      "enabled": false,          
      "delete_on_pass": false,   
      "path": "reports/videos",
      "format": "mp4",
      "resolution": "1280x720",
      "fps": 15,
      "display": ":",
      "pixel_format": "yuv420p",
      "inputFormat": "mjpeg"
    },
    "launch_url" : "http://localhost",
    "selenium_port"  : 4444,
    "selenium_host"  : "localhost",
    "screenshots" : { 
      "enabled" : false, 
      "on_failure" : true, 
      "on_error" : true, 
      "path" : "./screenshots" 
    },
    "end_session_on_fail" : true,
    "skip_testcases_on_fail" : false,
    "use_xpath" : true,
    "globals" : {
      "url" : "http://ec30-3-100-2-16.us-north-10.compute.amazonws.com:1000/login"
    }, 
    "desiredCapabilities": {
      "browserName": "chrome",
      "chromeOptions": {
        "w3c": false,
        "args" : ["headless","no-sandbox"]
      },
      "javascriptEnabled": true,
      "acceptSslCerts": true
    }
  }
}

}

在控制台中收到以下错误消息:

Login Test Test Suite
==========================
- Connecting to localhost on port 4444...

Connected to localhost on port 4444 (31794ms).
  Using: chrome (81.0.4044.129) on Linux platform.

Running:  Verify user is able to login  

    POST  /wd/hub/session/2a3ca3b508f6dda4d0933225c41824a4/url - ECONNRESET
Error: socket hang up
    at connResetException (internal/errors.js:604:14)
    at Socket.socketCloseListener (_http_client.js:400:25)
 Error while running .navigateTo() protocol action: An unknown error has occurred.

    POST  /wd/hub/session/2a3ca3b508f6dda4d0933225c41824a4/elements - ECONNRESET
Error: socket hang up
    at connResetException (internal/errors.js:604:14)
    at Socket.socketCloseListener (_http_client.js:400:25)
 Error while running .locateMultipleElements() protocol action: An unknown error has occurred.

我已经在 ec2 实例中安装了 chrome 浏览器 (81.0.4044.129) 及其各自的 chrome linux 驱动程序

selenium 服务器 : selenium-server-standalone-4.0.0.jar

注: 我在我的本地机器上配置了 Jenkins(MAC OS)并且它工作正常。

如果您需要更多信息,请告诉我。

我相信您连接到 EC2 服务器的安全组没有可供您的服务器访问的 ICMP IPV4 入站规则 运行 这个守夜人脚本。尝试在您在 URL 中提供的 ec2 服务器的 ICMP IPV4 入站规则中添加您的 nightwatch 服务器 IP 地址,或者您甚至可以使其公开访问。我希望这能解决您的问题。