无法使用webdriver将鼠标悬停在每个循环的多个选项卡上

时间:2017-07-11 05:33:56

标签: c# selenium

我有一个用于创建表单和工作流的表单编辑器Web应用程序。应用程序的主页包含左侧的菜单。

菜单看起来像enter image description here

当我将鼠标悬停在任何标签上时,我会得到一个工具提示。

我目前正在尝试使用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;
    }

我只在循环的第一次迭代中获得工具提示,并且测试在第二次迭代中失败。

有人可以帮我这个吗?

0 个答案:

没有答案