如何在selenium Page Objects中使用驱动程序实例?

时间:2016-09-06 12:21:45

标签: java selenium selenium-webdriver pageobjects

在Selenium PageObjects中,我没有实例化任何Web驱动程序实例和编码,如下所示

@FindBy(id = "userID")
WebElementFacade txtusername;

我正在尝试将下面的代码实现到Selenium页面对象函数中。

Actions action = new Actions(driver);
WebElement mainMenu = driver.findElement(By.linkText("MainMenu"));
action.moveToElement(mainMenu).moveToElement(driver.findElement(By.xpath("submenuxpath"))).click().build().perform();

有人可以建议我在使用Page对象模型时如何在上面的代码中使用webdriver实例?

2 个答案:

答案 0 :(得分:0)

您可以将<div id="div1"></div> <div id="spinnerDiv" style="display:none"></div> <div id="div2" style="display:none"></div> 实例保留在所有页面对象继承的父类中。

button click function(){
    $("#div1").hide();
    $("#spinnerDiv").show().delay(3000).queue(function () {
        $(this).hide();
        $("#div2").show();
    });
}

答案 1 :(得分:0)

有两种方法。

第一种方式:您可以在创建并使用它的类中为您的webdriver实例创建getter。

第二种方式:您可以继承创建webdriver实例的类,然后再使用驱动程序。

至于我,我创建了一个基类,我的webdriver被初始化,并且放置了最有用的方法(比如等待元素,导航到页面等)。继承这个类允许我的所有页面对象都有一堆非常有用的功能。如果需要,我的每个PageObject都使用基类的webdriver实例。