如何与JS / nightwatchjs并行运行多个测试?

时间:2016-05-17 08:56:04

标签: javascript testing selenium-webdriver testcase nightwatch.js

我可以通过Nightwatch并行执行多个测试用例吗?可能吗? 我正在寻找java中的线程功能以进行并行测试用例执行。

你们还有什么想法从Selenium转移到Nightwatch?

3 个答案:

答案 0 :(得分:3)

  • 您可以看到并行线程:nightwatchjs也可以查看parallel run

  • Nightwatch使用相同的selenium webdriver协议,但有一些额外的添加。

答案 1 :(得分:2)

是的,您可以使用以下配置来利用夜视仪js的并行模式:

test_workers: {
    enabled: true,
    workers: 'auto'
  }

答案 2 :(得分:0)

要在多个浏览器中执行测试,您需要在 nightwatch.json 文件中添加浏览器的所需功能和Test_worker配置。

例如如果要使用Opera,则必须添加以下配置:

    "cli_args": {
      //path to Opera Webdriver File
          "webdriver.opera.driver": "bin/operadriver"
        }
        "opera": {
          "desiredCapabilities": {
            "browserName": "opera"
          }
        }

对于Test_Worker配置,您应该添加:

"test_workers": {
    "enabled": true,
    "workers": "auto"
  }

例如,如果要在三个浏览器(Chrome,Firefox和Opera)中并行执行测试,则nightwatch.json应该是这样的。

{
  "src_folders": [
    "tests"
  ],
  "output_folder": "reports",
  "selenium": {
    "start_process": true,
    "server_path": "bin/selenium-server-standalone-3.12.0.jar",
    "log_path": "",
    "port": 4444,
    "cli_args": {
      "webdriver.chrome.driver": "bin/chromedriver",
      "webdriver.gecko.driver": "bin/geckodriver",
      "webdriver.opera.driver": "bin/operadriver"
    }
  },
  "test_workers": {
    "enabled": true,
    "workers": "auto"
  },
  "test_settings": {
    "default": {
      "launch_url": "http://localhost",
      "selenium_port": 4444,
      "selenium_host": "localhost",
      "silent": true,
      "screenshots": {
        "enabled": false,
        "path": ""
      },
        "desiredCapabilities": {
          "browserName": "chrome"
        }
      },
    "firefox": {
      "desiredCapabilities": {
        "browserName": "firefox",
        "marionette": true
      }
    },
    "opera": {
      "desiredCapabilities": {
        "browserName": "opera"
      }
    }
  }
}

有关更多信息,请查看本文:How To Execute Tests In Multiple Browsers Parallely With NIGHTWATCH JS