Selenium网格在集线器上启动浏览器而不是节点

时间:2017-10-26 14:53:33

标签: testng selenium-grid selenium-grid2 selenide

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

还有其他人遇到类似的问题吗? 为了重现同样的问题,我创建了2个样本类和一个testng.xml文件。

TestClass.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");
    }
}

ParentClass.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>

enter image description here

enter image description here

0 个答案:

没有答案