我正在编写一个单击按钮打开窗口的测试。该功能应切换窗口,但有时你可以继续点击"打开"并且更多的窗口出现,直到记忆丢失。
我做了一个简单的循环,如果它计算相同的元素超过2次,应该打破测试。
这就是我现在所拥有的。
[FindsBy(How = How.XPath, Using = ".//*[@data-id='panel_workspace_list_panel']//*[@data-id[starts-with(.,'bookmark-')]]")]
IWebElement bookmarklist{ get; set; }
[FindsBy(How = How.XPath, Using = ".//*[@data-id='dialog_bookmark']")]
IList<IWebElement> bookmark_dialog { get; set; }
public void Bug2463()
{
for (int i = 0; i < 10; i++)
{
bookmarklist.Click();
}
var count = bookmark_dialog.Count();
if (count > 2)
{
return;
}
}
有什么好的建议:)?
答案 0 :(得分:0)
如果你想检查打开的窗口/标签的数量,你应该使用Driver.WindowHandles.Count()
属性而不计算元素,因为你要计算这个XPath ".//*[@data-id='dialog_bookmark']"
有多少元素?在当前窗口DOM 。