如何从使用角度JS构建的折线图中获取值 由Selenium Webdriver c#



我有一个使用角度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"))

相关内容

  • 没有找到相关文章

最新更新