如何使用selenium自动化饼图和条形图?

时间:2015-05-05 10:31:55

标签: javascript selenium selenium-webdriver kendo-ui webdriver

我只想在Selenium中自动化图表操作?网络驱动器/ Java的 (Kendo Ui)

我怎样才能点击图表片段?

我的图表与以下链接中的链接完全相同

http://demos.telerik.com/kendo-ui/pie-charts/index

3 个答案:

答案 0 :(得分:2)

查找svg标记内元素的xpath与查找其他元素的xpath有点不同。

假设您的网址为:

<强> https://developers.google.com/chart/interactive/docs/gallery/piechart

如果你必须在饼图中找到元素的文本,那么你可以使用下面提到的代码:

driver.findElement(By.xpath(“// [@ id ='piechart'] / div / div [1] / div / [name()='svg' ] / [name()='g'] [4] / [name()='text']“))。getText();

答案 1 :(得分:1)

我必须自动化大量使用不同Kendo控件的页面。我在Telerik工作,我们正在使用Test Studio进行自动化。但是,您可以应用我们的方法。 我通常会阅读我想要自动化的控件的javascript API文档。可以为每一个方法执行大量方法。

示例:http://docs.telerik.com/kendo-ui/api/javascript/kendo 您只需要为您的案例找到合适的方法,并通过Web驱动程序执行javascript:

WebDriver driver = new AnyDriverYouWant();
if (driver instanceof JavascriptExecutor) {
    ((JavascriptExecutor)driver).executeScript("yourScript();");
}

您可以围绕这些特定方法的控件创建扩展方法。

如果您有任何疑问,请不要犹豫与我联系!

答案 2 :(得分:1)

是的,我得到了解决方案....这是在图表中向下钻取的代码

WebElement svg = gd.findElement(By.cssSelector("svg"));
List<WebElement> outertext = svg.findElements(By.cssSelector("text"));

                for(WebElement texts : outertext)
                    {
                        String textcollection = texts.getText();
                        if(textcollection.equals("xxxxxx"))
                            {
                                texts.click();
                            }
                    }