从v0.5开始nightwatch支持并发测试。通过在命令行中指定多个环境来工作,用逗
号分隔。例如:
$ nightwatch -e default,chrome
这样可以在多个相同或是不同的浏览器上运行。
终端输出
Tests运行
每个环境将作为一个单独的child_process运行,输出将被发送到主进程。
为了让输出更容易阅读,Nightwatch默认地缓冲了每个子进程的输出,并在最后显
示所有的内容,按环境分组。
如果想禁用输出缓冲,并在发送到输出文档时看到每个子进程的输出,只需在
nightwatch.json中将“live_output”:true
你可以在每个浏览器(通过desiredCapabilities)创建一个单独的环境,然后并行
地运行它们。此外,使用filter和exclude选项测试可以在每个环境中进行拆分,
以便并行运行。
Via Workers
在v0.版本7引入了一个新特性,允许并行运行测试。当启用这个功能时,测试运行
器将启动一个可配置的子进程,然后将所加载的测试分发到并行运行。
想启动测试workers,设置test_workers最高级的属性,如下:
"test_workers": { "enabled": true, "workers": "auto" }
或者,简单的:
"test_workers": true
worker选项配置可以同时运行多个子进程
“auto”——由cpu数量决定,例如4个cpu,意味着4个worker
{number} - 指定确切的workers数量
测试并发性是在文件级别完成的。每个测试文件将填充一个测试worker位置。测试
文件中的单个测试/步骤不会并发运行。
在并行运行测试时,0.9版本为显示输出提供了改进的支持。建议在测试环境中
设置 detailed_output to false ,以提高输出的可读性。