0

我已经配置了我的集线器和其中一个节点。Hub在jenkins上设置为在ubundu机器上运行的插件,我的节点在windows机器上运行。集线器和节点已正确配置。现在,当我运行测试以在节点上启动 chrome 浏览器时,它的行为很奇怪。一个浏览器实例在节点上启动,而不是重定向到 url。几秒钟后,它会在中心节点上启动 Firefox 浏览器的 5 个实例。(虽然我只设置了 chrome 功能)。

有没有其他人遇到过类似的问题?为了重现相同的问题,我创建了 2 个示例类和一个 testng.xml 文件。

测试类.java

import com.codeborne.selenide.Selenide;
import org.testng.annotations.Test;
public class TestClass extends ParentClass {

    @Test
    public void testcase1(){
        Selenide.open("http://www.google.com");    }
    @Test
    public void testcase2(){
        Selenide.open("http://www.ymail.com");
    }
    @Test
    public void testcase3(){
        Selenide.open("http://www.bbc.com");
    }
}

父类.java

import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.WebDriverRunner;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;

import java.net.MalformedURLException;
import java.net.URL;

public class ParentClass {
    Logger LOG = LoggerFactory.getLogger(ParentClass.class);
    @BeforeTest
    @Parameters({"Browser", "hubAddress"})
    public void setupBrowser(@Optional("chrome") String browser, @Optional("") String hubAddress) {
        LOG.info("Setting up Browser: ");
        WebDriver driver=null;
        if (browser.equalsIgnoreCase("chrome")) {
            if (!hubAddress.equals("")){
                DesiredCapabilities cap = DesiredCapabilities.chrome();
                cap.setBrowserName("chrome");
                driver= setUpRemoteBrowser(hubAddress,cap);
                WebDriverRunner.setWebDriver(driver);
            }
        }


        Configuration.startMaximized = true;
        Configuration.timeout = 10;
        LOG.info("Browser Setup completed");
    }


    public WebDriver setUpRemoteBrowser(String hubUrl, DesiredCapabilities capabilities){
        LOG.info("Running browser using hub");
        WebDriver driver =null;
        try {
            driver = new RemoteWebDriver(new URL(hubUrl), capabilities);
        }
        catch (MalformedURLException e){
            LOG.info("Incorrect URL");
            e.printStackTrace();
        }
        return driver;
    }

}

testng.xml

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="hue-test-Suite" parallel="true">
    <parameter name="Browser" value="chrome"/>
    <parameter name="hubAddress" value="http://172.26.158.157:4444/wd/hub"/>
    <test name="HueMailSmoke-Tests">
        <classes>
            <class name="TestClass">

            </class>
        </classes>
    </test>
</suite>

在此处输入图像描述

在此处输入图像描述

4

0 回答 0