1

我只有一个测试用例,我想在两台不同的机器上运行那个特定的测试用例,比如一个在 windows 和其他 linux 上。我如何配置我的节点或 selenium 框架,以便它可以同时在不同的机器上并行运行我的测试用例。我已经在我的框架中进行了以下更改以在单台机器上运行它。

  DesiredCapabilities cap = new DesiredCapabilities();
  cap.setBrowserName("firefox");
  cap.setPlatform(Platform.ANY);
  driver = new RemoteWebDriver(new URL(nodeURL), cap);
4

2 回答 2

1

我想你可以试试TestNG。

在我的方法中,我有两个参数:操作系统和浏览器。使用 testng.xml,您可以使用以下参数创建您的测试套件:

 <?xml version="1.0" encoding="iso-8859-1"?>
   <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
   <suite name="Your_suite" verbose="2" **parallel**="tests" >

   <test name='Your_Test_Name'>
       <parameter name='os' value='**WINDOWS**'/>
       <parameter name='browser' value='CHROME'/>
        <classes>
            <class name='tests.AnyTest'/>
        </classes>
   </test>

   <test name='Your_Test_Name'>
       <parameter name='os' value='**LINUS**'/>
       <parameter name='browser' value='FIREFOX'/>
        <classes>
            <class name='tests.AnyTest'/>
        </classes>
   </test>

  </suite>

所以我可以在 windows、linux、macOS、android 或 iphone 上运行我的测试,最重要的是,我不必更改我的代码。

希望能帮助到你。

于 2013-07-30T14:08:05.250 回答
1

第 1 步- 创建两个可运行的 JAR 文件(我自己的方法),其中包含一个针对 linux 的测试和一个针对 Windows 的测试。可能通过这一行来区分:

cap.setPlatform(Platform.LINUX);

cap.setPlatform(Platform.WINDOWS);

能力来自头脑,所以请仔细检查

第 2 步 - 启动集线器和两个节点

第 3 步- 从您的计算机运行两个 JAR(假设 JAR 已配置集线器所在的位置)。集线器将自动将测试分配给节点

如果您还有其他问题,请问我;)

于 2013-07-29T15:06:54.903 回答