Selenium GRID与TestNG并行

时间:2017-11-08 09:11:24

标签: selenium parallel-processing architecture grid automated-tests

This topic是我正在寻找的答案的开始。我需要了解更多。

短篇小说:

为什么使用GRID,如果纯TestNG并行执行似乎工作正常?

长篇故事:

背景

  • 我们现在正在进行大约40次测试,正在增长。
  • 我们只使用一个浏览器(chrome)。
  • 为了加快测试速度,我们进行并行测试(有意义)。
  • 我们在配置GRID解决方案时遇到问题,
  • 在很多情况下我们只是删除它并运行纯testNG并行。

问题:

  1. 我需要知道在这方面是否如此固执才有意义 整个GRID。现在它似乎只消耗时间而不给予任何 附加价值。
  2. 我自己的想法:     我唯一可以想到的就是为GRID辩护,就是运行测试     使用不同的机器。如果我们需要实际平衡     在多个服务器上加载。但此时甚至我自己的笔记本电脑也是     完美地完成工作。这种情况不会改变     在最近的将来戏剧性,为什么要这么麻烦? 上面提到的link声称无网格并行的结果     测试可能变得不可预测。我们不面对这一点。所以问题     可能是:在什么意义上不可预测?需要注意什么?

    提前感谢您的帮助。

    欢呼声, 格雷格

2 个答案:

答案 0 :(得分:0)

让我们考虑一些例子:

  1. 您的目标是检查Windows和MAC上的功能。如果没有网格,您将运行两次案例。

  2. 您有一个测试用例,其中旧版浏览器的功能中断,现在是回归测试的时间。如果没有网格,您将为每个浏览器的旧版本多次运行测试用例。

  3. 依赖于不同屏幕分辨率的案例。

  4. 网格可以简化配置工作。

    它只是为运行多个测试用例尽量减少时间。

答案 1 :(得分:0)

Grid模仿负载均衡器,并根据所需功能将测试分发到节点。而testNG xml中的parallel属性只是指示testNGrunner一次触发n个测试。

CAVEAT :如果不使用网格进行并行测试,则在扩展线程数时,单个主机将会过载。无网格并行测试的结果可能变得不可预测,因为多个会话将快速填满堆内存。通用计算机具有有限的堆内存。你没有遇到这个问题,可能是因为你没有达到这个限制。