1

我有一个使用 Angular js 构建的图形。这是我检查图形元素时得到的。

<canvas 
ng-reflect-datasets="[object Object]" 
ng-reflect-labels="blahblah" 
ng-reflect-options="[object Object]" 
ng-reflect-chart-type="line" 
ng-reflect-colors="[object Object]"  
ng-reflect-legend="true">
</canvas>

图表中的线条具有适当的数据工具提示。有人可以指导我如何获取值/工具提示值吗?

4

3 回答 3

4

在 java 中,如果你使用 ChartJS,我会使用它:

String javaScript ="var puntos=Chart.instances[0].data.datasets[0].data; return puntos";
String dato=((JavascriptExecutor)DriverContext.getDriver()).executeScript(javaScript).toString();

返回图表中所有数据的字符串(一个数组)。

于 2019-08-30T19:22:34.473 回答
2

CANVAS 标签就像页面中的小程序,不包含其中显示的 HTML,因此无法正常交互。您可以执行诸如移动光标、单击和悬停之类的操作.MoveToElement(element, offsetX, offsetY),但这不是确定性的。如果内容发生变化,您将一无所知,因为它都是基于位置而不是基于元素的。最好的办法是与开发人员交谈,如果您可以访问他们,并让他们为您构建一个 API,您可以使用该 API 访问 CANVAS 的内部并以这种方式进行测试。

于 2017-04-13T13:23:27.257 回答
0

我刚开始使用 ngWebDriver for Java,我知道你可以在 C# 中使用 Protractor.NET。

您可以使用 ngWebDriver“ByAngular”定位器获取您提到的 ng-* 元素。

例如,这是一个元素的样子:

<select ng-model="operator" class="bla bla"/>

driver.findElement(ByAngular.model("operator"))
于 2018-01-11T13:28:41.350 回答