剧作家Python:expect(locator).to_be_visible() vs locator.wait_for()

问题描述 投票:0回答:1

expect(locator).to_be_visible()
locator.wait_for()
有区别吗?我应该选择其中之一吗?

我查了一下

__doc__

  • wait_for
    :当定位器指定的元素满足
    state
    选项时返回。 (
    state
    默认为
    'visible'
    )。
  • to_be_visible
    :确保定位器指向附加且可见的 DOM 节点。

还是不太清楚。定位器是否可以可见但不附加?如果是这样,如果我确定已附加定位的元素,它们会相等吗?

python playwright playwright-python
1个回答
0
投票

定位器是否可以可见但未附加?

不,这是不可能的。要使元素可见,需要将其附加到 DOM 树(在文档中)。换句话说,visibleattached的超集。

wait_for
不是一个明确的断言。这是一种定位器方法,可让您阻塞,直到满足文档中描述的特定可见性/附件谓词为止。

to_be_visible
是一个明确的断言,表明元素已附加且可见。您可以将其视为
wait_for
提供的功能的面向期望的子集。

如果您正在编写测试,请使用

to_be_visible
,否则使用
wait_for

如果您正在编写希望附加元素但不关心可见性的测试,您可能会对

to_be_attached
和类似的方法感兴趣。

© www.soinside.com 2019 - 2024. All rights reserved.