繁体   English   中英

如何使用Java验证Selenium WebDriver中的tooltipText

[英]How to verify tooltipText in Selenium WebDriver using Java

我有以下HTML代码片段:

<div style="float:right; padding-right: 50px; margin-top: -10px;" id="divTooltips">
<img width="25px" height="25px" src="/mkteditor/css/images/tooltip.png" alt="">
</div>

在鼠标悬停tooltip.png期间,将显示工具提示文本“帮助文本在顶部位置”。 我想验证WebDriver中的tooltipText。 怎么做?

每当你有工具提示时,那么“title”属性就在那里。 (根据我的观察)。

例如:转到http://www.linkedin.com/并在顶部查看LinkedIn图像的HTML代码。 LinkedIn

    WebDriver driver = new InternetExplorerDriver();
    driver.get("http://www.linkedin.com/");
    WebElement onElement = driver.findElement(By.xpath("html/body/div[1]/div[1]/div/h2/a"));
    System.out.println("Tooltip : " + onElement.getAttribute("title"));

我的观察结果表明,每当你专注于元素并且出现一个工具提示时,它就显示在一个“div”中,该div在鼠标焦点上可见。

这是我建议的,

  1. 使用actions类移动到元素

    动作动作=新动作(驱动程序); 。action.moveToElement( 'element_to_be_focused')建立()执行();

  2. 现在,由于工具提示显示了一些文本,因此请阅读该文本并从页面源HTML中找出提到它的元素。

  3. 现在只需编写代码以等待具有工具提示文本的元素的可见性。

    new WebDriverWait(driver,timeOutInSeconds).until(ExpectedConditions.visibilityOfElementLocated('element_locator'));

  4. 使用getText()从tooltip元素获取文本

举个例子,点击这里

在给定的网站上,一旦我们将鼠标悬停在文本框中询问年龄,我们可以看到工具提示“我们仅为统计目的询问您的年龄”。

以下是获取工具提示文本的代码段:

WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("https://jqueryui.com/tooltip/");
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@class='demo-frame']")));
new Actions(driver).moveToElement(driver.findElement(By.xpath("//input[@id='age']"))).build().perform();
boolean isToolTipDisplayed = driver.findElement(By.xpath("//div[@class='ui-tooltip-content']")).isDisplayed();
System.out.println("Is Tooltip displayed ? : " + isToolTipDisplayed);
            if (isToolTipDisplayed) {
                String tooltipText = driver.findElement(By.xpath("//div[@class='ui-tooltip-content']")).getText();
System.out.println("Tooltip Text:- " + tooltipText);
}
driver.switchTo().defaultContent();
driver.quit();

希望对你有帮助 !

你可以用它

WebElement element = driver.FindElement(By.id("divTooltips");
 string titleText = element.getAttribute("title");

现在标题存储在titleText字符串中。如果工具提示被隐藏,你想看到它上面的隐藏文字检查这个

请享用!

您可以使用以下内容验证工具提示文本:

try{
    String tooltipText = "help text at top place";
    String tooltipTextToVerify = driver.findElement(By.id("divTooltips").getAttribute("title");
      if (tooltipText.equels(tooltipTextToVerify)){
         return true;
      else {return false;}
}

您可以尝试以下方法:

WebElement tooltipControl = driver.FindElement(By.id("divTooltips");
string titleText = tooltipControl.GetAttribute("textContent");

textContent属性将提供工具提示中显示的文本。

希望这会帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM