使用 selenium 驱动程序在鼠标悬停时测试工具提示

test tooltip on mouse over with selenium driver

我是使用 Selenium 进行测试的新手,我遇到了下一个问题。我想从饼图中测试工具提示。

我有下一个代码:

<g class="p0_tooltips">
<g id="p0_tooltip0" class="p0_tooltip" style="opacity: 0;" transform="translate(1960,1500)">
<rect rx="2" ry="2" x="-4" opacity="0.5" style="fill: rgb(0, 0, 0);" width="778" height="27" y="-20">
<text fill="#efefef" style="font-family: arial;">Tooltip</text>

当我将鼠标悬停在该选项上时,它会将 "text" 中的值显示为工具提示。我想证明的是,一旦我用鼠标导航,"opacity" 和 "transform" 的 de 值就会发生变化,但我无法做到这一点。我想证明一下,测试工具提示的内容不是空的。

我有下一个代码:

tooltip = svg.findElement(By.cssSelector(".p0_tooltips"));
tooltips = tooltip.findElements(By.cssSelector(".p0_tooltip"));
for(int i=0; i<tooltips.size(); i++){           
    hover = new Actions(driver);
    tooltipTransform = tooltips.get(i).getAttribute("style");
    System.out.println("OPACITY BEFORE: "+tooltipTransform);
    coordinates = tooltips.get(i).getLocation();
    hover.moveToElement(tooltips.get(i), coordinates.getX() - 10, coordinates.getY() + 10);
    hover.build();

    hover.perform();
    Thread.sleep(2000);
    System.out.println("OPACITY AFTER: "+tooltipTransform);
}

有人可以帮助我吗? 谢谢

执行悬停操作后,您需要再次调用 getAttribute()

hover.perform();
Thread.sleep(2000);

tooltipTransform = tooltips.get(i).getAttribute("style");
System.out.println("OPACITY AFTER: " + tooltipTransform);