当前位置: 首页 > 知识库问答 >
问题:

在运行testng套件(parallel=“classes”)时,Selenium Grid2默认maxSession似乎无法按预期工作

尉迟正平
2023-03-14

实际-我看到的行为是它在1个节点上一次依次运行一个会话(FireFox浏览器)中的所有测试。

预期-本例中的类“IntegrationTest”有20个方法(@Test)。我希望看到该类中有5个测试被选中,并在1节点上的5个FireFox会话中并行运行。

这是我的testng套件文件。线程数为1是有意义的,因为我只想运行一个类。

<suite name="WebDriver Tests" parallel="classes" thread-count="1">
<test name="WebDriver Tests">
    <classes>
        <class name = "com.axiom.web.IntegrationTest" />
    </classes>
</test>

这是我在中心和节点上运行的grid2命令。

枢纽命令-

java -jar selenium-server-standalone-2.43.0.jar -role hub -browserTimeout 60

节点命令-

java -jar selenium-server-standalone-2.43.0.jar -role node  -hub http://<host ip address>:4444/grid/register

我在这里错过了什么吗?我必须做些什么才能让maxSession正常工作?我相信maxSession优先于max实例,但无论哪种方式,在node命令中指定任何一个、两个或任何一个都不适合我。我使用Selenium版本2.43.1和testng版本6.8.8。

感谢并感谢您的帮助!

共有2个答案

鲜于玮
2023-03-14

我建议您添加@BeforeMethod并在@BeforeMethod中初始化多个驱动程序实例,如果您想在5个浏览器中运行,您必须打开5个浏览器,即自己在@BeforeMethod中创建5个驱动程序实例。如果您需要进一步的帮助,请告诉我。

谷奕
2023-03-14
  1. 您需要为节点配置希望其支持的FF会话数

请参阅本页上的“配置节点”—https://code.google.com/p/selenium/wiki/Grid2

“并行”和“线程数=1”意味着您需要一个总线程,并且希望每个类中的所有方法都在同一个线程上运行parallel=“methods”意味着您希望每个方法都有自己的线程。然而,单个线程无法完成您想要的任务,因此您需要添加更多的总线程。

线程计数和并行设置的文档如下-http://testng.org/doc/documentation-main.html#parallel-正在运行

 类似资料:
  • 问题内容: 问题 我有一个,以及一个带有属性的数据库对象列表,我想检查一下我的映射中的键是否等于数据库中的任何s- 如果是,请用填充。 代码看起来像这样: 但是,即使我确定有时会在该电话中,该电话始终会返回false。 调查中 作为健全性检查,我打印了日期的长值以及呼叫和呼叫的结果: 结果: 题 1)不应该和同意吗?(我假设至少应执行的建议)。 2)该医生说这个: 因此,当且仅当getTime方法

  • 我有3个测试类,由我想要并行运行的多个测试方法组成。我使用ThreadLocal来隔离每个线程的webdriver实例。当我按顺序运行测试时,一切看起来都很好,但是当我并行运行它们时,问题就出现了。下面是我的套件文件 我在@Beforeclass中初始化Web驱动程序BrowserClient.java如下。 这里使用的类即BrowserFactory.java 驱动程序工厂.java 我的测试类

  • 我无法在eclipse中使用testNG for Selenium2运行测试套件。TestNG似乎正在运行,但运行的测试总数始终为0。我可以直接使用selenium2从eclipse运行这个测试(以->Java应用程序运行)。我可以用@test、@beforeMethod、@afterMethod注释测试一个小程序的testNG

  • 根据以下文档:http://testng.org/doc/documentation-main.html “如果测试类上有一个方法tearDown(),那么在每个测试方法之前和之后都会调用它”(JUnit 3) 我使用的是JUnit版本:3.8.1 这里的这个是在我的测试之前运行的,但我希望它会在测试之后。它在测试后没有运行: 我可以通过将第一行更改为: 但是,下一个类(下面)的表示法与第一个类完

  • 问题内容: 我正在使用selenium来抓取一些数据。 我单击的页面上有一个按钮,说“ custom_cols”。此按钮为我打开一个窗口,从中可以选择列。 此新窗口有时需要一些时间才能打开(大约5秒钟)。所以我已经使用了 延迟为20秒。但是有时它无法在新窗口中选择查找元素,即使该元素可见。在其余时间中,这种情况仅发生十次一次。 我在其他地方也使用了相同的功能(WebDriverWait),并且可以

  • 问题内容: 经过测试后,我只能对已经解析过的JSON数据返回一个肯定值。 根据官方文件: isValidJSONObject返回一个布尔值,该布尔值指示是否可以将给定对象转换为JSON数据。 但是,尽管事实是我尝试将其从JSON转换为NSDictionary的对象都可以正常转换,但仍会返回。 这是我的代码: 我的日志包含以下内容: 然后是dict的输出,这是一个巨大的NSMutableDictio