如何在 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 创建静态变量,而是在需要时创建和初始化。
例如:我创建了一个测试页面
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 创建静态变量,而是在需要时创建和初始化。