【问题标题】:How to use QAF Page Objects with QAF BDD2如何在 QAF BDD2 中使用 QAF 页面对象
【发布时间】:2021-03-25 12:31:01
【问题描述】:

例如:我创建了一个测试页面

public class HomePage extends WebDriverBaseTestPage<WebDriverTestPage>{

    @FindBy(locator = SLIDER_LOC)
    public QAFWebElement slider;
    @FindBy(locator = SEARCH_TEXTBOX_LOC)
    public QAFWebElement searchTextbox;
}

现在在步骤定义类中,如何使用这个页面 我已经尝试过以下方法,但我确定它是否正确。

public class BDDSteps{
    
    static HomePage homepage = new HomePage();
    @QAFTestStep(description = "Step description")
    public void stepImplementation() {
        homepage.searchTextbox.sendKeys("asdfads");
        
    }
}

【问题讨论】:

    标签: java selenium-webdriver webdriver bdd qaf


    【解决方案1】:

    如果您正在创建页面类,最好创建特定于页面内页的可重用方法。除此之外,任何带有@QAFTestStep 的方法都可用作 bdd 步骤。因此,您只需要为跨页面的步骤创建额外的步骤类。例如,如果搜索功能在主页上,那么您的主页可能包含如下方法

    @QAFTestStep(description = "Search for {term}")
    public void serachFor(String term){
       searchTextbox.sendKeys(term);
       searchTextbox.submit();
    }
    

    您可以在任何其他步骤中调用此方法,也可以直接在 BDD 中作为步骤使用。在其他方法/类中使用时,切勿为页面类创建静态变量,而是在需要时创建和初始化。

    【讨论】:

    • 附加类仅用于跨页面,这意味着如果步骤涉及多个页面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多