Testing 使用网格时,我们是否需要在每个测试用例中提及每个节点的url

Testing 使用网格时,我们是否需要在每个测试用例中提及每个节点的url,testing,selenium,testng,Testing,Selenium,Testng,如何说明应该在哪个节点上执行哪个测试用例。 例如: 假设在IP为a1的系统上,我启动了grid HUB 并已向轮毂a1注册b1、b2、b3 现在,如果我有一个带有测试的类,tc1、tc2、tc3、tc4、tc5等, 如何在每个测试用例中初始化驱动程序? RemoteWebDriver driver = new RemoteWebDriver(new URL("http://**a1:port/wd/hub**")); 在所有的测试用例中,它将把测试用例绑定到节点上 (或) 需要提到我们希望在每

如何说明应该在哪个节点上执行哪个测试用例。
例如:
假设在IP为a1的系统上,我启动了grid HUB
并已向轮毂a1注册b1、b2、b3

现在,如果我有一个带有测试的类,
tc1、tc2、tc3、tc4、tc5等,
如何在每个测试用例中初始化驱动程序?

RemoteWebDriver driver = new RemoteWebDriver(new URL("http://**a1:port/wd/hub**"));
在所有的测试用例中,它将把测试用例绑定到节点上

(或)

需要提到我们希望在每个测试用例中执行测试用例的节点url

RemoteWebDriver driver = new RemoteWebDriver(new URL("http://b1:port/wd/hub"));
RemoteWebDriver driver = new RemoteWebDriver(new URL("http://b2:port/wd/hub"));
RemoteWebDriver driver = new RemoteWebDriver(new URL("http://b3:port/wd/hub"));

不需要指定任何节点的URL或实例主机名。只要将测试指向Grid hub,它就知道如何根据您发送的浏览器功能路由到任何连接的节点

这些URL可能有助于您理解:

http://hub:4444/admin/
http://node1:5555/extra/NodeLog
http://node2:5555/extra/NodeLog

您只需初始化RemoteWebDriver并在集线器上注册,还需要设置所需的功能。根据这一点,中心将决定在哪个节点上完成测试。例如:

如果使用以下设置注册以下节点:

{
    "capabilities":[
        {
            "platform":"VISTA",
            "browserName":"chrome",
            "version":"30",
            "maxInstances":1,
            "seleniumProtocol":"WebDriver"
        }
    ],
    "configuration":{
        "port":5555,
        "host":"localhost",
        "register":true,
        "hubHost":"localhost",
        "hubPort":4444,
        "maxSession":1,

    }
}
如果您注册了以下RemoteWebDriver:

WebDriver driver;
DesiredCapabilities dc = new DesiredCapabilities();
dc = DesiredCapabilities.chrome();
dc.setPlatform(org.openqa.selenium.Platform.VISTA);
dc.setVersion("30");
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), dc);
然后,您的代码将在该浏览器中的该节点上运行

如果有多个节点可以提供相同的浏览器(相同的平台、相同的浏览器、相同的browserversion),则中心将检查哪个节点负载最少,哪个节点可以提供浏览器的免费实例


如果你想在一台特定的计算机上运行你的测试,那么你的节点必须被标记。最简单的解决方案是使用“applicationName”功能,或者您可以创建自定义功能匹配器。下面是我在另一个问题下写的一个简短示例:

那么你的问题是如何在每个节点上运行测试用例?或者如何设置在哪个节点上运行测试用例?我的问题是如何设置“在哪个节点上应该执行哪个测试用例”。若网格将处理这个问题,那个么有并没有办法找出“在哪个节点上执行了哪个测试用例”。谢谢你们的回复。“你是说”吗。如果是这样,我得到了以下信息,您正在使用grid 2.45.0,请在官方selenium wiki上查找帮助:更多帮助此处默认监控页面:控制台实际上,我想知道并行运行测试的最佳方式。根据我的理解,我发现将Selenium Grid与Test Ng结合使用,并使用Jenkins安排它将对我有所帮助。我的问题是假设我在100个类中有1000个不同的测试。现在,我是否必须在所有测试中初始化[RemoteWebDriver driver=new RemoteWebDriver(new URL)(“在所有测试中,hub将在哪个节点上运行?是否有任何方法可以在哪个节点上执行哪些测试。等待您的答复。提前感谢