我如何 运行 Nightwatch.js 在 Jenkins 中进行测试?

How do I run Nightwatch.js tests in Jenkins?

我想用 UI 测试实现 CI/CD 我每晚自动编写 运行 我的 Nightwatch.js 测试。我已经尝试将我的文件复制到 jenkins 的工作区并 运行ning 它们。我已经尝试使用 TFS 作为版本控制系统,看看我们是否可以通过这种方式将其设置为 运行。我 运行ning 遇到的问题(见附件)是当我在本地 运行 时,chrome 浏览器打开并且 运行s 测试正常。然而,在 Jenkins 中,它表示找不到该元素。我已经研究了如何 运行 chrome 无头,但是当我将 --headless 标记添加到我的 nightwatch.json 配置文件时,我仍然遇到同样的错误。最重要的是,我怎样才能按夜间时间表进行 Nightwatch.js 到 运行 的测试? (最好在詹金斯)

尝试了 运行来自 tfs 源代码控制的测试 尝试将本地测试中的 运行ning 测试复制到 jenkins 工作区。 尝试了 运行ning 无头测试(本地工作,Jenkins 没有)https://developers.google.com/web/updates/2017/04/headless-chrome

这是我的 nightwatch.json 文件。

{
    "src_folders" : ["tests"],
    "output_folder" : "reports/XMLReports",
    "custom_commands_path" : "",
    "custom_assertions_path" : "",
    "page_objects_path" : "dealer",
    "globals_path" : "",
    "test_workers": false,
    "selenium": {
      "cli_args": {
        "webdriver.chrome.driver" : "node_modules/.bin/chromedriver.cmd",
        "webdriver.gecko.driver" : "node_modules/.bin/geckodriver.cmd",
        "webdriver.edge.driver" : "node_modules/.bin/edgedriver.cmd"
    },
    "log_path": "",
    "port": 4460,
    "server_path": "lib/drivers/selenium-server-standalone-3.141.59.jar",
    "start_process": true
  },

    "test_settings" : {
      "chrome" : {
        "launch_url" : "http://localhost",
        "selenium_port"  : 4460,
        "selenium_host"  : "127.0.0.1",
        "silent": true,
        "screenshots" : {
          "enabled" : false,
          "path" : "screenshots/Chrome/"
        },
        "desiredCapabilities": {
          "browserName": "chrome",
          "chromeOptions":{
                "args": [
                  "disable-web-security",
                  "ignore-certificate-errors",
                  "--test-type",
                  "--disable-gpu",
                  "--headless",
                  "--remote-debugging-port=9222"
                ]
            }          
        }
      },

      "edge" : {
        "desiredCapabilities": {
          "browserName": "MicrosoftEdge"
        }
      }
    }
  }

我希望我的测试在 jenkins 中正常进行 运行,如果在 ui.

中通过或失败,我会给我一份详细的报告

看起来 .windowMaximize() 导致我的测试在 Jenkins 中挂起并失败。