0

您好我有一个基于 ExtJS4 构建的 UI 应用程序。我能够识别工具提示控件。但是现在的问题是,当我将鼠标悬停在其他控件上以获取工具提示时,前一个控件仍然可见,这在运行我的 WebDriver 测试时正在发生。但是当我试图手动复制上述问题时,它并没有发生。下面是 ExtJS 工具提示的 HTML src

<div id="ext-gen1561" class="x-tip-bwrap">
<div class="x-tip-ml">
<div class="x-tip-mr">
<div id="ext-gen1564" class="x-tip-mc">
<div id="ext-gen1562" class="x-tip-body" style="height: auto; width: 288px;">
<div>This is the name of an Industry Classification value. The user can supplement this information by using the Class Description field.</div>
</div>
</div>
</div>
</div>

这是我的java方法:

public static String getToolTipBodyString(WebElement element)
    {
        //To do part.
        //Body : ext:qtip
        toolActionObj.hover(element);
        WebElement toolTipElement=toolActionObj.getElementByXpath(".//div[contains(@style,'visibility: visible')]//*/div[@class='x-tip-body']/div");
        String toolTipString=toolGetPropertiesObj.getText(toolTipElement);
        builder.release(element).perform();
        return toolTipString;
    }

出现多个工具提示的屏幕截图即使我将鼠标悬停在其他控件上,也会同时出现多个工具提示。 上述方法接受标签元素,如果我们将鼠标悬停在该元素上,工具提示将出现。然后该方法将找出可见的工具提示控件并从中获取文本并将其返回到 testNGs 断言方法,以使用预期的工具提示文本进行断言。现在这里的问题是,当我为多个控件运行上述方法时,旧的工具提示仍然可见,然后我得到的是旧的工具提示控件,而不是我悬停的元素的工具提示控件。这是 selenium webdrivers 问题还是 ExtJS 问题。如何解决这个问题?

4

1 回答 1

0

如果我没记错的话,悬停释放不起作用或没有以适当的方式执行。

作为一种解决方法,试试这个,让我知道。

public static String getToolTipBodyString(WebElement element)
{
    //To do part.
    //Body : ext:qtip
    toolActionObj.hover(element);
    WebElement toolTipElement=toolActionObj.getElementByXpath(".//div[contains(@style,'visibility: visible')]//*/div[@class='x-tip-body']/div");
    String toolTipString=toolGetPropertiesObj.getText(toolTipElement);
    element.click();;
    return toolTipString;
}

另外,尝试使用不同的浏览器并将结果发布给我们。

于 2013-08-26T10:53:00.347 回答