1

我需要组织我的应用程序的功能测试。我需要使用 selenium grid + testng + webdriver。正如我发现设置项目的好方法是在eclipse中使用maven。我已经设置了 selenium 网格,但不知道如何适当地设置将与所有这些工具一起使用的 maven 项目。也许有人有这方面的经验或有用的链接。提前致谢

4

1 回答 1

2

如果你想在 maven 中使用 testng 测试,你需要设置 maven surefire 插件来启动你在 testng 中定义的测试套件。

首先,您需要在依赖项中包含 testng,因此将其添加到您的 pom.xml 文件中:

<dependencies>
  [...]
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.3.1</version>
      <scope>test</scope>
    </dependency>
  [...]
</dependencies>

然后你需要告诉surefire正在使用哪个测试套件,假设它是suite.xml:

<plugins>
    [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.13</version>
        <configuration>
          <suiteXmlFiles>
            <suiteXmlFile>testng.xml</suiteXmlFile>
          </suiteXmlFiles>
        </configuration>
      </plugin>
    [...]
</plugins>

如我所见,您正在使用网格,因此如果您想并行运行它们,您可以在 pom.xml 文件的插件部分执行以下操作:

</plugins>
    [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.13</version>
        <configuration>
          <parallel>methods</parallel>
          <threadCount>10</threadCount>
        </configuration>
      </plugin>
    [...]
</plugins>

当然,您需要在该 PC 和至少一个客户端上运行 selenium hub。确保您的测试配置为使用 selenium grid2 而不是本地 webdriver 运行。

问候,

圣地亚哥

于 2013-01-07T11:59:43.387 回答