【发布时间】:2021-06-23 07:19:45
【问题描述】:
我正在寻找一种从子上下文中找到DialogElement 的方法。从“根”上下文中找到它工作正常,但我正在构建一个页面组件进行测试,当我尝试使用 $(DialogElement.class) 方法找到 DialogElement 时,它会尝试在当前元素的上下文中找到它,但 Dialog 似乎已添加到主/根上下文中,因此它总是失败。有什么建议吗?
更新
我在测试的任何地方都找到了一个可行的解决方案:
DialogElement dialogElement = new ElementQuery<>(DialogElement.class).context(getDriver()).first()
更新 2
设法改进它:
DialogElement dialogElement = $(DialogElement.class).context(getDriver()).first()
如果有人知道更优雅的,请随时发布。
【问题讨论】:
-
为什么要把寻找对话框放到页面对象上?只需在测试中使用 $(DialogElement)。我们添加了一个方法来获取当前对话框到我们的 UI 测试的基类
-
因为它在逻辑上属于那个页面对象,我不想为了与对话框交互而破坏其他封装的测试序列。
-
对话框总是在最前面,所以你没有机会这样做。
-
我不明白为什么它不应该是可能的
-
你写道:“它试图在当前元素的上下文中找到它”这就是为什么
标签: vaadin test-bench vaadin-testbench