Java 如何在多个浏览器上逐个运行selenium测试

Java 如何在多个浏览器上逐个运行selenium测试,java,selenium,testng,Java,Selenium,Testng,不确定哪里出了问题,我正在尝试在多个浏览器上一个接一个地运行同一组测试 TestNG.xml 更换 与 其他一切似乎都很好。有关更多信息,请参阅 编辑: 我不理解你的问题。您无法按顺序运行测试的问题是由于if(driver==null)导致的。这意味着您的测试将在驱动程序为null时第一次运行良好,但之后由于您的驱动程序定义,它可能不是null,因此不会创建另一个功能。因此,如果删除它,测试应该可以正常运行。需要知道如何运行hub/node@NguyenVu Hoang Hub和Node正在运

不确定哪里出了问题,我正在尝试在多个浏览器上一个接一个地运行同一组测试

TestNG.xml

更换

其他一切似乎都很好。有关更多信息,请参阅

编辑:


我不理解你的问题。您无法按顺序运行测试的问题是由于if(driver==null)导致的。这意味着您的测试将在驱动程序为null时第一次运行良好,但之后由于您的驱动程序定义,它可能不是
null
,因此不会创建另一个功能。因此,如果删除它,测试应该可以正常运行。

需要知道如何运行hub/node@NguyenVu Hoang Hub和Node正在运行更新代码以包含驱动程序定义,您在哪里实现了驱动程序?这将使测试并行运行,我希望测试运行serially@ayaslem请参见编辑,若问题仍然存在,你们可能需要在你们的帖子中添加驱动定义。
<suite  name="Selenium Tests"   parallel="false" thread-count="5">
<listeners>
    <listener class-name="ww5.listener.Listener" />
</listeners>
<test name="Chrome" preserve-order="true">
   <parameter name="browser" value="chrome"/>
   <classes>
        <class name="ww5.testcases.version.version" ></class> 
        <class name="ww5.testcases.loginSuite.LoginTest" ></class> 
        <class name="ww5.testcases.loginSuite.LogoutTest" ></class>
   </classes>
</test>

<test name="Firefox" preserve-order="true">
   <parameter name="browser" value="firefox"/>
    <classes>
        <class name="ww5.testcases.version.version" ></class> 
        <class name="ww5.testcases.loginSuite.LoginTest" ></class> 
        <class name="ww5.testcases.loginSuite.LogoutTest" ></class>
     </classes>
</test>
</suite>
@Parameters ({"browser"})
        @BeforeClass
        public void launchBrowser(String browser) throws Exception {
            //initLogs(this.getClass());
            initConfigurations();
            if (driver == null) {
            DesiredCapabilities cap = null;
            if(browser.equalsIgnoreCase("firefox"))
            {
                cap = DesiredCapabilities.firefox();
                cap.setBrowserName("firefox");
                //cap.setPlatform(org.openqa.selenium.Platform.WINDOWS);
                }
            if(browser.equalsIgnoreCase("internet explorer"))
            {
                cap = DesiredCapabilities.internetExplorer();
                cap.setBrowserName("internet explorer");
                cap.setPlatform(org.openqa.selenium.Platform.ANY);
                }
            if(browser.equalsIgnoreCase("chrome"))
            {
                cap = DesiredCapabilities.chrome();
                cap.setBrowserName("chrome");
                cap.setPlatform(org.openqa.selenium.Platform.ANY);
                }
            driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), cap);
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            wait = new WebDriverWait(driver,30);
            }
        }