我已經編寫了下面的代碼來從應用程序中檢索工具提示文本。但它總是傳遞值作爲空(「」) 假定應用程序是ToolsQA「http://demoqa.com/」我想拿http://demoqa.com/tooltip/的提示文字「您的年齡」從Java中的Selenium WebDriver中檢索工具提示文本
請參考下面我使用的代碼。
public String getToolTipText(String xpath) throws InterruptedException{
xpath = "//div[@class='inside_contain']//input";
WebElement mainElement = driver.findElement(By.xpath(xpath));
Actions act = new Actions(driver);
//act.moveToElement(mainElement).build().perform();
act.clickAndHold(mainElement).build().perform();
Thread.sleep(5000);
String tooltiptextreal = mainElement.getAttribute("title");
return tooltiptextreal;
}
斷言:
String TooltipText = "We ask for your age only for statistical purpose.";
Assert.assertEquals(pToolsQAWidgetTooltipPageDom.getToolTipText(), TooltipText);
輸出:
java.lang.AssertionError: expected [We ask for your age only for statistical purpose.] but found []
非常感謝,這工作得很好。還有一件事要澄清。因爲我可以看到xpath被定義爲「// div [contains(@id,'ui-id - ')]/div [@ class ='ui-tooltip-content']」請你澄清你是怎麼做到的派生它,因爲即使我們在檢查元素中搜索到xpath,它也不會顯示可能的匹配。 –
@NickW很高興能夠幫助你:)如果你仔細看看,你會發現'id'是動態的。因此,我使用'contains',但是接下來讀到了對類'ui-tooltip-content'的引用 – DebanjanB