【问题标题】:How to run parallel test cases in selenium grid?如何在硒网格中运行并行测试用例?
【发布时间】:2013-07-29 06:06:00
【问题描述】:

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

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

【问题讨论】:

标签: selenium selenium-webdriver selenium-grid selenium-grid2


【解决方案1】:

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

cap.setPlatform(Platform.LINUX);

cap.setPlatform(Platform.WINDOWS);

功能取自头部,请仔细检查

第 2 步 - 启动 hub 和两个节点

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

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

【讨论】:

  • 是的,我已经尝试过这种方法并且这很有效......但是如果我必须在 4-5 台机器上运行它,那么每次我无法运行 5 jar 的包含测试。我想要一种方法来一次性解决它。运行 jar 一次,测试执行必须在五台不同的机器上进行。有可能吗??
  • 这是可能的,但在我自己的情况下,我与开发人员达成协议以帮助我解决这个问题。在另一个项目中,我只针对 80 台机器运行一个 JAR 文件。但是代码对我来说有点神秘,所以我无法帮助你实现这一点......
【解决方案2】:

我想你可以试试 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 上运行我的测试,最重要的是,我不必更改我的代码。

希望对你有帮助。

【讨论】:

  • 谢谢@Hector .. 我们应该在代码本身的哪里提及我们的节点 URL 或将其作为参数传递??
  • 使用 TestNG,您可以添加 URL、合作伙伴、用户名、密码等参数,您可以为您的测试套件或每个测试用例定义这些参数。
  • @HéctorFlores 这在 c# 中是否也可用 Nunit .?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 2019-08-07
相关资源
最近更新 更多