【问题标题】:Selenium WebDriver and Highchart testingSelenium WebDriver 和 Highchart 测试
【发布时间】:2012-12-21 13:58:56
【问题描述】:

我知道之前有人在 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) 值。

过去有没有人解决过这个问题或有更好的方法来获取必要的信息?

【问题讨论】:

    标签: java html selenium highcharts selenium-webdriver


    【解决方案1】:

    我开始创建一个库来使用 HighCharts,我目前拥有的可以在这里找到:

    https://github.com/Ardesco/Powder-Monkey/tree/master/src/main/java/com/lazerycode/selenium/graphs

    很难提供处理 HighCharts 的通用库,因为单个图表上的自定义选项可以修改 SVG 标记相当多。希望以上内容能在一定程度上有所帮助。

    随着我做的更多,它会更新。

    【讨论】:

    • @Ardecsco,干得好。我将你的 java 移植到 C# 上,它很有效。我做了一些调整,它还可以支持具有多条线的图表。如果您有兴趣,我可以将其移植回 Java 并提出拉取请求。
    • 我以为已经支持多行了,可能是我忘记推送什么东西了(或者我错了)。无论哪种方式,我总是很高兴收到拉取请求:)
    • 我不得不说,上周我从你的 git repo 中学到了很多关于使用 selenium 和一般编码的知识。非常感谢。
    【解决方案2】:

    折线图必须有背景才能工作。如果图表是使用 .setBackgroundColour(null) 创建的,则不会将“rect”添加到 html 中。

    我能够将背景颜色重新添加到主体背景颜色中。但是,我会尝试找出一种没有“rect”的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      相关资源
      最近更新 更多