如何在 QAF BDD2 中使用 QAF 页面对象

How to use QAF Page Objects with QAF BDD2

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

public class HomePage extends WebDriverBaseTestPage<WebDriverTestPage>{

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

现在在步骤定义中 class,如何使用此页面 我试过下面的方法,但我确定它是否正确。

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

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

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

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