java - 在selenium网格中分配多少个线程

标签 java webdriver testng selenium-rc

我在使用 Selenium Grid 时有点困惑。 我有一个集线器和两个注册到它的节点。 节点 1 - 有 2 个 Chrome 和 2 个 IE 浏览器,每个浏览器 maxInstance 2 个。最大 session 4
节点 2 - 有 2 个 Chrome 和 2 个 IE 浏览器,每个浏览器 maxInstance 2 个。最大 session 4

在 TestNG.xml 中我已经提到过 并行=“测试”线程计数=“4”

  1. 那么这到底是如何运作的呢?
  2. 它会将一个测试标签中提到的所有类发送/执行到一个节点吗? 我应该在这里使用多少个线程是浏览器实例的总数,所以在我的例子中它将是 8?
  3. 如果我说parallel=classes,它会在每个节点上发送/执行每个类吗?
  4. 提高绩效的最佳方法是什么?通过并行=“方法”?

请帮助我。

最佳答案

首先,据我所知,建议每个节点仅使用一个 IE。

  1. 每次您请求驱动程序进行测试时,它都会检查该驱动程序是否在网格上可用并将其提供给您。
  2. 每个测试标记将占用一个浏览器实例。要加载所有浏览器,您可以设置 thread-count="8"。
  3. 它将在单独的实例上执行每个类。 2 和 3 还取决于您如何在代码中创建、关闭和重用驱动程序(在测试/类/方法之前),例如您运行并行类,但在每个方法中创建新的驱动程序 -> 您将耗尽网格中的浏览器,因为它们需要在重用之前退出。
  4. 这取决于:)如果您有资源并且您的方法可以并行运行,您可以使用“方法”模式。

关于java - 在selenium网格中分配多少个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36454827/

相关文章:

java - 如何从对象中获取值

java - 在 Ubuntu 中设置 Java 变量

Selenium Webdriver - 点击隐藏元素

java - 测试按钮是否被选择基于

java - TestNG - selenium 脚本中的测试执行顺序

java - 准备好的语句会明显减慢程序速度吗?

java - Android: URL 以 -/\n 结尾的 TextView 链接错误

java - Webdriver showModalDialog

azure-devops - 如何将 TestNG 或 Extent 报告与 Azure devops 集成?

testing - 为什么我们必须为 Gradle 测试指定 useTestNG()?