我已经配置了我的集线器和其中一个节点。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>