Selenium WebDriver和Highchart测试

3

我知道这个问题之前在S.O.和其他网站上已经被提出过,但我没有找到一个明确的答案——大多数人说很难做到,但我想确定这是否是最终结论。

这是我的情况:

我正在使用Selenium WebDriver (Java)测试一个使用Highcharts(http://www.highcharts.com)的网站。

我想要获取显示在Highchart折线图上每个数据点悬停时出现的小提示弹出窗口中的信息。

查看网页的HTML代码,我注意到有<g class="highcharts-tooltip"...。我还注意到,当您移动鼠标时,...transform="translate(X,Y)">中的(X,Y)值会改变,这将更改工具提示中显示的信息。

基于此,我的方法是以某种方式获取所有(X,Y)值,并将它们插入到transform字段中并获取工具提示数据。但我不知道如何通过Selenium程序化地获取所有(X,Y)值。

有人之前解决过这个问题或者有更好的方法来获取必要的信息吗?

2个回答

4

1
@Ardecsco,干得好。我把你的Java移植到了C#上,效果很棒。我进行了一些微调,现在它还可以支持多条线的图表。如果你感兴趣,我可以将其移植回Java并发起一个pull request。 - Robbie Wareham
我认为它已经支持多行了,也许我忘记推送了什么(或者我错了)。无论如何,我总是很乐意接受拉取请求 :) - Ardesco
我必须说,上周通过你的Git仓库,我学到了很多关于使用Selenium和编程的知识。非常感谢。 - mango

0
折线图必须具有背景才能工作。如果使用.setBackgroundColour(null)创建图表,则“rect”不会添加到html中。
我能够将背景颜色添加回设置为正文背景颜色。但是我会尝试找出一种不使用“rect”的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接