使用WebDriver验证ExtJs工具提示
嗨,我有一个基于ExtJS4的UI应用程序。我能够识别工具提示控件。但现在的问题是,当我悬停到其他控件以获取工具提示时,前一个控件仍然可见,这是在运行WebDriver测试时发生的。但是,当我试图复制上述问题时,它并没有发生。下面是用于ExtJS的HTMLSRC工具提示使用WebDriver验证ExtJs工具提示,extjs,selenium,webdriver,Extjs,Selenium,Webdriver,嗨,我有一个基于ExtJS4的UI应用程序。我能够识别工具提示控件。但现在的问题是,当我悬停到其他控件以获取工具提示时,前一个控件仍然可见,这是在运行WebDriver测试时发生的。但是,当我试图复制上述问题时,它并没有发生。下面是用于ExtJS的HTMLSRC工具提示 <div id="ext-gen1561" class="x-tip-bwrap"> <div class="x-tip-ml"> <div class="x-tip-mr"> <div
<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>
显示多个刀具提示的屏幕截图
上面的方法接受label元素,如果将鼠标悬停在该元素上,将显示工具提示。然后,该方法将找到可见的工具提示控件,并从中获取文本,然后将其返回给testNGs assert方法,以便使用预期的工具提示文本进行断言。现在的问题是,当我对多个控件运行上述方法时,旧的工具提示仍然可见,然后我得到的是旧的工具提示控件,而不是我悬停的元素的工具提示控件。这是SeleniumWebDrivers问题还是ExtJS问题。如何解决此问题?如果我没有错,则悬停释放不起作用或没有以适当的方式执行 作为一种解决方法,请尝试此方法并让我知道
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;
}
另外,尝试使用不同的浏览器,并将结果发布给我们。我已经尝试了您的解决方案,但在Firefox中仍然存在相同的问题。配置:Webdriver:-2.33 FF:-22。还有其他解决办法吗?TIA@MrunalGosar,你能试一下其他浏览器吗?我试过IE9。它比FireFox运行得更糟糕。与巨大的闪烁问题。谷歌浏览器不在我的范围之内。因此,在浏览器中签入是没有意义的。那么现在需要做什么呢?
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;
}