随着测试用例规模的扩大,分组数量的增加。使用一台主机来运行所有的测试用例需要消耗大量的时间。为了解决这个问题,TestNG 提供了分布式特性。本文将介绍使用 TestNG 分布特征——使用多台主机同时运行测试用例。TestNG 提供的分布式模型如下所示:
图 5. TestNG 提供的分布式模型
这是一个典型的 master/slave。在这个模型中,有一个负责调度的 master 节点,和一些负责执行任务的 slave 节点。下文将介绍如何配置这样一个分布式模型。
首先,在远程机器上部署 slave 节点。如上图所示,在远程节点上不仅要配置 TestNG 运行环境,还需要复制测试用例文件。
图 6. 将需要运行的测试用例部署到远程机器上
然后在这台远程机器上以 “slave” 模式启动一个 TestNG 实例,使用如下命令:java –classpath <testng_path>;<testcase_path> org.testng.TestNG -slave <port>
图 7. 以“slave”模式启动一个 TestNG 实例
这样,一个 TestNG 实例将会被启动,并且等待即将到来的连接请求。如果有需要,可以在多台机器上以 slave 模式启动 TestNG 实例。
完成了所有 slave 实例的启动之后,将所有启动 slave 实例的主机信息记录在一个配置文件中,如图 8 所示:
图 8. 分布式运行的配置文件
然后使用该配置文件启动 TestNG 的 master 实例。