我有一个使用角度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>
图表中的线条具有包含数据的适当工具提示。有人可以指导我如何获取值/工具提示值吗?
在java中,如果你使用ChartJS,我会使用它:
String javaScript ="var puntos=Chart.instances[0].data.datasets[0].data; return puntos";
String dato=((JavascriptExecutor)DriverContext.getDriver()).executeScript(javaScript).toString();
返回图表中所有数据的字符串(数组(。
CANVAS 标签就像页面中的小程序,不包含其中显示内容的 HTML,因此无法正常交互。您可以使用.MoveToElement(element, offsetX, offsetY)
来移动光标、单击和悬停等操作,但这不是确定性的。如果内容发生变化,您将没有任何想法,因为它都是基于位置而不是基于元素的。最好的办法是与开发人员交谈,如果你可以访问他们,并让他们为你构建一个API,你可以用它来访问CANVAS的内部并以这种方式进行测试。
我刚开始使用ngWebDriver for Java,我知道你可以在C#中使用 Protractor.NET。
您可以使用ngWebDriver"ByAngular"定位器获取您提到的ng-*元素。
例如,对于以下元素,它的外观如下:
<select ng-model="operator" class="bla bla"/>
driver.findElement(ByAngular.model("operator"))