除了leanft.exists()以及下面的内容之外还有其他等待吗?我回来等待确定某些东西是否可点击
我的应用程序是使用ReactJS的单页Javascript应用程序。挑战在于有时候硒点击不起作用。它执行该行,但我没有导航到下一个路径或页面。此外,在您执行期望在新页面上的下一行之前,它不会抛出异常。我必须再次执行点击。本质上,我需要一种方法将条件传递给click方法,以验证如果我点击某个元素,我希望看到一些其他元素。如果未发生单击,则返回false并再次单击。这有意义吗?
答案 0 :(得分:0)
我看到你链接到C#sdk,所以我将用C#回答。
WaitUntil
执行提供的布尔方法,直到它返回true
。因此,如果您实现自己的方法:
private bool funcToRun(IBrowser arg)
{
// imeplement whatever logic you want here
return true;
}
然后,您可以按如下方式致电WaitUntil
:browser.WaitUntil(funcToRun);
当然要确保您的funcToRun
将正确的测试对象(您实际调用的对象.WaitUntil
)作为参数。
由于您可以在funcToRun
方法中访问测试对象,因此可以等到所需的任何逻辑。
这是another example使用箭头函数,不等待.Exist()
的按钮,而是Buttons
数组有16
个元素。:
// Create a description for the Toolbar.
var toolBar = window.Describe<IToolBar>(new ToolBarDescription
{
NativeClass = "SwingSet2$ToggleButtonToolBar"
});
// There are 16 buttons in the toolbar. Use the WaitUntil method to wait until all 16 buttons are loaded.
// This ensures that any button we press was loaded. If not loaded, the test fails.
toolBar.WaitUntil(tb => (tb.Buttons.Count == 16));