【问题标题】:Multiple browser windows opening automatically in cucumber在黄瓜中自动打开多个浏览器窗口
【发布时间】:2016-10-24 14:24:35
【问题描述】:

我不知道为什么要为以下示例打开 2 个 firefox 浏览器。有人可以告诉我下面的代码有什么问题吗?我是黄瓜新手,我正在尝试使用页面对象模型开发黄瓜 poc。

功能文件:

    Scenario: Smoke test for application
      Given I am on home page

步骤定义文件:

public class HomePageSteps {

CustomerDetails customerDetails;

HomePage homePage=new HomePage();

public HomePageSteps(CustomerDetails customerDetails){
    this.customerDetails=customerDetails;
}

@Before
public void environmentSteup(){
    homePage.envSetup();
}

@Given("^I am on home page$")
public void i_am_on_home_page() throws Throwable {
    homePage.openURL();
}
}

Step定义文件的实际实现:(HomePage.java)

public class HomePage extends BasePage{

public void openURL() {
    driver.get("https://applicationURL.aspx");
    System.out.println("I am on home page executed");
}

public void envSetup() {
    driver=new FirefoxDriver();
    driver.manage().window().maximize();
}
}

BasePage.java

public abstract class BasePage {
protected WebDriver driver=new FirefoxDriver();
}

CustomerDetails.java

public class CustomerDetails {
private String mdn=null;

private String Fname=null;

private String Lname=null;

public String getMdn() {
    return mdn;
}

public void setMdn(String mdn) {
    this.mdn = mdn;
}
}

打开 2 个 firefox 浏览器: 首先它会打开一个空白浏览器。稍后它会打开另一个浏览器,并在此浏览器中打开应用程序 URL。

【问题讨论】:

    标签: java selenium selenium-webdriver cucumber


    【解决方案1】:

    您有两个调用来打开浏览器窗口...

    曾在 envSetup() 的子类中 - driver=new FirefoxDriver();

    并在超类驱动变量声明中进行初始化 - protected WebDriver driver=new FirefoxDriver();

    您必须删除其中一个,不需要超类...这是给您空白窗口的那个

    【讨论】:

      【解决方案2】:

      请参阅此页面。您在envSetup() 中的maximize() 调用可能比您想象的要多

      In selenium webdriver what is manage() [driver.manage()]

      编辑:

      您也不需要在BasePage 之外实例化new FirefoxDriver(),因为您已经用该对象实例化了driver 字段。任何扩展BasePage 的东西都可以访问driver 字段。你这样做不是问题,它只是不需要存在的无关代码

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-15
        • 1970-01-01
        • 2021-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多