java - 带有页面对象模型页面工厂的 Selenium 网格

标签 java selenium pageobjects

如果我想使用页面对象模型页面工厂在多个浏览器上进行测试,我将如何初始化浏览器?

目前我已经在我的基类中初始化了浏览器,如下所示。

// initialise driver/browser

 public void initDriver() throws MalformedURLException{
   if(CONFIG.getProperty("browser").equals("firefox")){
       cap = DesiredCapabilities.firefox();
       cap.setBrowserName("firefox"); // chrome,iexplore
       cap.setPlatform(Platform.ANY);
   }else if (CONFIG.getProperty("browser").equals("chrome")){
       cap = DesiredCapabilities.chrome(); // no need path of chrome exe
       cap.setBrowserName("chrome");
       cap.setPlatform(Platform.ANY);
   }else if (CONFIG.getProperty("browser").equals("iexplore")){
       cap = DesiredCapabilities.internetExplorer(); // no need path of chrome exe
       cap.setBrowserName("iexplore");
       cap.setPlatform(Platform.WINDOWS);
   }
   if(driver == null){
       driver=new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),cap);
   }
   String waitTime=CONFIG.getProperty("default_implicitWait");
   driver.manage().timeouts().implicitlyWait(Long.parseLong(waitTime), TimeUnit.SECONDS);
   }

然而,这仅在其中一种浏览器上运行我的测试。

这是我的 testng.xml 文件

<suite name="Selenium Grid with webdriver" >
<listeners>
    <listener class-name="Codes.listener.TestsListenerAdapter" />
</listeners>
<test name="Login test">
    <classes>
        <class name="Codes.testCases.LoginTest" ></class>  
    </classes>
</test>
</suite>

最佳答案

您的浏览器初始化似乎没问题,但我想知道,为什么当 driver == nullcap 没有初始化,您应该改进您的 testng.xml > 通过以下方式:

并行运行测试方法:

<suite name="Selenium Grid with webdriver" parallel="methods" thread-count="5" >
    <listeners>
        <listener class-name="Codes.listener.TestsListenerAdapter" />
    </listeners>
    <test name="Login test">
        <classes>
            <class name="Codes.testCases.LoginTest" ></class>  
        </classes>
    </test>
</suite>

同样,您可以定义parallel = "classes"parallel = "tests"来选择并行执行级别。

关于java - 带有页面对象模型页面工厂的 Selenium 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23826972/

相关文章:

java - 如何从测试类中删除实例 "driver"

java - 如何运行 Xtext .mydsl 文件?

java - java中如何判断一个对象是字符串还是字符串数组?

java - ElasticSearch 排名 - 评分

java - Selenium java 如何从调试器判断元素是否过时

javascript - 如何在 python 中使用 selenium 和 javascript 跟踪鼠标事件和位置?

java - Android 中歌曲的数据结构

python - 如果2秒内找不到元素如何让驱动程序退出

java - Selenium webdriver 页面对象模式和 ExtentReports

java - 在页面工厂设计模式中返回对象的用例是什么?