我有一个用于创建表单和工作流的表单编辑器Web应用程序。应用程序的主页包含左侧的菜单。
当我将鼠标悬停在任何标签上时,我会得到一个工具提示。
我目前正在尝试使用selenium webdriver和c#来验证这一点。以下是菜单的HTML
<div class="tabmenu">
<div class="tab-list">
<div class="mask"></div>
<ul class="level1" style="left: 0px;">
<li class="l1-item top" title="">
<span class="selection-top"></span>
<table class="mover">
<tbody>
<tr>
<td class="tooltip">
<span>Create Flow</span>
</td>
<td>
<span class="logo logo12">
<span class="status status-none"></span>
</span>
</td>
</tr>
</tbody>
</table>
<span class="selection-bottom"></span>
<div class="hr"></div>
</li>
<li class="l1-item prev" title="">
<span class="selection-top"></span>
<table class="mover" style="left: -110px;">
<tbody>
<tr>
<td class="tooltip">
<span>Dashboard</span>
</td>
<td>
<span class="logo logo11">
<span class="status status-none"></span>
</span>
</td>
</tr>
</tbody>
</table>
<span class="selection-bottom"></span>
<div class="hr"></div>
</li>
</ul>
</div>
</div>
当我鼠标悬停在任何标签上时,<li class="l1-item>
又添加了另一个类<li class="l1-item tooltip">
以下是我编写的代码
[FindsBy(How = How.CssSelector, Using = "ul.level1 > li")]
[CacheLookup]
private IList<IWebElement> LeftMenuItems;
public bool isToolTipPresentOnEachTab()
{
foreach (IWebElement ele in LeftMenuItems)
{
Actions action = new Actions(driver);
action.MoveToElement(ele).Perform();
if((ele.FindElement(By.CssSelector("td.tooltip > span")).GetAttribute("textContent")) != "Create Flow"
&& !ele.GetAttribute("class").Contains("showtooltip")){
return false;
}
}
return true;
}
我只在循环的第一次迭代中获得工具提示,并且测试在第二次迭代中失败。
有人可以帮我这个吗?