selenium - 使用页面对象模式执行操作的多种方式

标签 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 个方法

public void dataSearchBySearchButton(String query){

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

}

public void dataSearchByEnterKey(String query){


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

}

你可以调用你测试中需要的相关方法

关于selenium - 使用页面对象模式执行操作的多种方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55387123/

相关文章:

java - 如何升级Webdriver容器中的chrome版本

unit-testing - Haskell Test.Framework 指定从命令行运行的测试数量

testing - 如何通过指定元数据在 CI 中并行运行 TestCafe 测试

java - 构造“try/catch”不会捕获异常“NoSuchElementException”

reactjs - 将 testcafe 与随机页面路径一起使用

java - 哪个 selenium 版本与 Firefox ESR 45.2.0 兼容

java - 是否可以在下面的代码片段中使用方法引用

php - 用于测试 Web 表单中用户输入的正确处理的工具

python - 如何使用 selenium 向 hideNameInput 发送 key ?

reactjs - (FSEvents.framework) FSEventStreamStart : register_with_server: ERROR: f2d_register_rpc() => (null) (-22)