我目前正在对接一个硒测试环境。我从seleniumHQ 项目开始,创建了一个 selenium siderunner 容器,用于查询网格以进行测试。我成功地实现了一些东西,并从 siderunner 容器中为每个浏览器按顺序运行测试。
selenium-side-runner -c "browserName=chrome" --server http://my-selenium-grid:port/wd/hub --output-directory /out_chrome /tests/*.side
selenium-side-runner -c "browserName=firefox" --server http://my-selenium-grid:port/wd/hub --output-directory /out_firefox /tests/*.side
selenium-side-runner -c "browserName=MicrosoftEdge" --server http://my-selenium-grid:port/wd/hub --output-directory /out_edge /tests/*.side
以上,位于 /tests 文件夹中的所有测试套件都将运行。
我现在要做的是并行运行这些进程。我的第一个虽然是在每个命令的末尾添加 & 但我得到了
输入设备不是 TTY
错误。这是正常的,因为 selenium-side-runner 将其所有结果显示在标准输出中。
我也对这里所说的内容感到困惑,我认为这是解决方案,但是在不指定浏览器的情况下运行 selenium-side-runner 只会在默认情况下在 chrome 浏览器上运行测试,我认为 -w 选项是运行测试套件并行。
side runner 容器将所有内容发送到网格容器,但我不确定网格是否可以处理并行调用,这会让我认为我需要 3 个网格实例(这很愚蠢,然后我会选择独立容器和为每个独立创建多个侧流容器,不确定是否好)
所以它让我问以下问题:我是否应该将脚本输出重定向到文件以避免 TTY 错误,并且是否可以在多个浏览器上进行并行测试?