使用硒驱动程序测试鼠标悬停的工具提示

时间:2015-03-10 10:58:09

标签: java testing selenium selenium-webdriver

我是新的使用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”中的值显示为工具提示。我要证明的是,一旦我用鼠标导航,“不透明度”和“变换”的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);
}

有人可以帮我吗? 谢谢

1 个答案:

答案 0 :(得分:0)

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

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

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