使用页面对象模式执行动作的多种方法

时间:2019-03-27 21:59:53

标签: selenium testing automated-tests

在实现页面对象模式时,我看到的建议是操作应该是高级别的,而不是单个UI操作:

例如:

page.search(query)

而不是:

page.enterSearchBarText(query)
page.clickSearchButton()

但是,当用户单击Enter而不是单击搜索按钮时,搜索也应执行。

所以search也可能是:

page.enterSearchBarText(query)
page.pressEnter()

如果我想在测试中同时涵盖这两个方面,实现此目标的常规方法是什么?我想也许

search(query, method)

其中method可能是enum { SearchButton, Enter }之一

2 个答案:

答案 0 :(得分:1)

您可以在该类中创建2个方法

public void dataSearchBySearchButton(String query){

page.enterSearchBarText(query);
page.clickSearchButton();

}

还有

public void dataSearchByEnterKey(String query){


page.enterSearchBarText(query);
page.pressEnter();

}

您可以调用测试中所需的相关方法

答案 1 :(得分:-1)

您不能在一项测试中涵盖两种流程,无论是案例还是案例。尝试这样的事情:

0

要调用该方法,for (int i = 0; i < dice.length; i++) { int roll = (int) (Math.random() * 6) + 1; if (dice[i] == 0) { dice[i] = roll; } }