您好我在ExtJS4上构建了一个UI应用程序。我能够识别工具提示控件。但现在的问题是,当我徘徊到其他控件获取工具提示时,前一个仍然可见,这是在运行我的WebDriver测试时发生的。但手动当我试图复制上述问题时,它并没有发生。下面是ExtJS Tool提示的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问题。如何解决这个问题?
答案 0 :(得分: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;
}
另外,尝试使用不同的浏览器并将结果发布给我们。