我在使用 Selenium Grid 时有点困惑。
我有一个集线器和两个注册到它的节点。
节点 1 - 有 2 个 Chrome 和 2 个 IE 浏览器,每个浏览器 maxInstance 2 个。最大 session 4
节点 2 - 有 2 个 Chrome 和 2 个 IE 浏览器,每个浏览器 maxInstance 2 个。最大 session 4
在 TestNG.xml 中我已经提到过 并行=“测试”线程计数=“4”
- 那么这到底是如何运作的呢?
- 它会将一个测试标签中提到的所有类发送/执行到一个节点吗? 我应该在这里使用多少个线程是浏览器实例的总数,所以在我的例子中它将是 8?
- 如果我说parallel=classes,它会在每个节点上发送/执行每个类吗?
- 提高绩效的最佳方法是什么?通过并行=“方法”?
请帮助我。
最佳答案
首先,据我所知,建议每个节点仅使用一个 IE。
- 每次您请求驱动程序进行测试时,它都会检查该驱动程序是否在网格上可用并将其提供给您。
- 每个测试标记将占用一个浏览器实例。要加载所有浏览器,您可以设置 thread-count="8"。
- 它将在单独的实例上执行每个类。 2 和 3 还取决于您如何在代码中创建、关闭和重用驱动程序(在测试/类/方法之前),例如您运行并行类,但在每个方法中创建新的驱动程序 -> 您将耗尽网格中的浏览器,因为它们需要在重用之前退出。
- 这取决于:)如果您有资源并且您的方法可以并行运行,您可以使用“方法”模式。
关于java - 在selenium网格中分配多少个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36454827/