我知道这两个元素都可以用来验证元素是否出现在页面上,但是我想知道每个元素对性能的影响和可读性。所以我的问题是,假设您要在页面中检查20个元素,
OR
答案 0 :(得分:2)
是的,事实上,它们两者都可以用于验证页面上是否出现了某个元素,但是很显然,您可以设计测试来获得更好的性能。
理想情况下,等待应严格按照用例和测试步骤执行。
使用 Wait Until Element Is Visible
:如果用例涉及所有20个元素的可见性,尽管请耐心等待,直到元素可见为止 >是最合适的。
使用 Wait Until Element Is Visible
作为标题文本,然后使用Element Should Be Visible
:如果您的用例涉及任何元素的可见性,则引发 Wait Until Element Is Visible for header text
将是完整的开销。由于您没有使用标头文本进行验证,因此无需执行此步骤。相反,您应该针对所需元素的 可见性直接诱使等待。
答案 1 :(得分:0)
在严格的性能比较中,在 DOM中已经存在的元素上,Wait Until Element Is Visible
和Element Should Be Visible
的执行速度实际上是相同的。 br />
它们都做同样的事情-在DOM中找到元素,然后调用硒的is_visible()
方法。区别在于Wait Until
循环并在两个步骤中的任何一个失败时重复执行。
因此,在您(或类似情况)的情况下,当一个元素(标头)的存在应保证另外19个元素也已加载时,使用哪个元素都没有关系。
如果您在标头上使用Wait Until ...
,在其他标头上使用Element Should Be Visible
,则您还将在这种情况下测试该假设。自然,如果将第19个元素之外的所有元素与标头一起加载,则案例将失败。
如果在所有元素上使用Wait Until ...
,则通过的机会会更高-如果添加任何元素并使其可视化的速度比其余元素慢,则kw将等待它。显然,这种情况将导致运行时间变慢-因为要等待条件被满足。
关于使用一个与另一个相比在可读性方面,我不会对此发表评论。这是实现和代码结构的问题;您总是可以使简单的事情看起来令人恐惧,或以优美的方式呈现复杂的解决方案:)。与python相同,允许您编写类似诗歌或丑陋的代码(某些SO答案也是如此:D);您的确为此感到内::)