Atata – 是否有等同于 Wait.Until 的功能?
Atata – Is there any functionality equivalent to Wait.Until?
在我正在使用的场景中,需要等到预期条件出现,例如值出现、值具有预期的文本或状态,或者直到更复杂的规则有效,例如:
Wait.Until(x => x.UserName.Value.Get() != string.Empty)
给定 Selenium wait.until
方法,在 Atata 框架中是否有任何等效的功能?
我看到 waiting 有很多属性,例如 Until
、WaitFor
、WaitForElement
,但这些都是针对简单场景的。对于更复杂的规则,我需要类似的功能。如何使用 Atata 实现?
您可以为此使用组件的 Should.*
扩展方法。
page.SomeSpan.Should.Equal("smth"); // Checks for text in some <span> element.
默认情况下,重试最多可能需要 5 秒,直到条件执行,即使控件的元素在验证开始时不存在。只有在时间结束且不满足条件时才会抛出异常。
page.SomeSpan.Should.Within(30).StartWith("smth"); // Wait for condition within 30 seconds.
page.SomeSpan.Should.AtOnce.Contain("smth"); // Without retries, quickly checks and throws if condition doesn't match.
page.SomeSpan.Should.Not.BeNullOrEmpty(); // Wait for any value in <span>.
您还可以对控件列表和数据属性使用 Should
扩展方法:
page.SomeTable.Rows.Should.Not.BeEmpty();
page.SomeTable.Rows.Count.Should.BeGreaterOrEqual(1);
等等...您可以查看Atata.IDataVerificationProviderExtensions
和Atata.IUIComponentVerificationProviderExtensions
类其他方法。对于否定检查,只需在 "Should" 之后添加 "Not":Should.Not.*
。还有Should.Satisfy()
自定义条件的方法。
在我正在使用的场景中,需要等到预期条件出现,例如值出现、值具有预期的文本或状态,或者直到更复杂的规则有效,例如:
Wait.Until(x => x.UserName.Value.Get() != string.Empty)
给定 Selenium wait.until
方法,在 Atata 框架中是否有任何等效的功能?
我看到 waiting 有很多属性,例如 Until
、WaitFor
、WaitForElement
,但这些都是针对简单场景的。对于更复杂的规则,我需要类似的功能。如何使用 Atata 实现?
您可以为此使用组件的 Should.*
扩展方法。
page.SomeSpan.Should.Equal("smth"); // Checks for text in some <span> element.
默认情况下,重试最多可能需要 5 秒,直到条件执行,即使控件的元素在验证开始时不存在。只有在时间结束且不满足条件时才会抛出异常。
page.SomeSpan.Should.Within(30).StartWith("smth"); // Wait for condition within 30 seconds.
page.SomeSpan.Should.AtOnce.Contain("smth"); // Without retries, quickly checks and throws if condition doesn't match.
page.SomeSpan.Should.Not.BeNullOrEmpty(); // Wait for any value in <span>.
您还可以对控件列表和数据属性使用 Should
扩展方法:
page.SomeTable.Rows.Should.Not.BeEmpty();
page.SomeTable.Rows.Count.Should.BeGreaterOrEqual(1);
等等...您可以查看Atata.IDataVerificationProviderExtensions
和Atata.IUIComponentVerificationProviderExtensions
类其他方法。对于否定检查,只需在 "Should" 之后添加 "Not":Should.Not.*
。还有Should.Satisfy()
自定义条件的方法。