使用硒自动化qlikview图表

时间:2014-02-26 07:26:14

标签: java selenium xpath selenium-webdriver qlikview

我打算使用selenium自动化qlikview页面中显示的图表。由于这些图表在这些页面中作为整体访问,因此难以进行交互。在这些图表上找到特定的元素/文字。

Qlikview演示链接: - http://ap.demo.qlik.com/QvAJAXZfc/opendoc.htm?document=qvdocs%2FRetail%20Omni-Channel%20Analytics.qvw&host=Demo11&anonymous=true

将鼠标悬停在图表上的代码: -

Point coordinates = driver.findElement(By.xpath("//div[@id='68']/div[2]/div[2]/img")).getLocation();
Robot robot = new Robot();
robot.mouseMove(coordinates.getX(),coordinates.getY());
Thread.sleep(5000);

捕获工具提示值的代码: -

String Tooltip = driver.findElement(By.xpath("//div[@class = 'QvHover']/span[2]")).getText();
System.out.println("Tooltip value:- "+Tooltip);

虽然我想出了一种方法来捕捉它的工具提示值,但除此之外,我无法找到方法来定位/捕捉其他元素,例如轴上的标签,用于折线图,图例等

任何帮助都是适当的

1 个答案:

答案 0 :(得分:1)

下面是使用Java

在selenium下使用的Qlickview数据验证代码

步骤1.找到qlikview框架。

driver.switchTo().frame(driver.findElement(By.className("report_iframe_test")));

步骤2.转到qlikview框架下的html元素,该框架使用IE开发人员工具检查元素后显示

driver.findElement(By.id("PageContainer_test"));
driver.findElement(By.id("MainContainer_test"));

找到qlikview上的元素后,例如来自重点部分

String id = driver.findElement(By.id("32_test")).getText();
System.out.println("after frame--"+id);

sysout将打印报表元素值,我们可以将其与数据库进行比较,以便进行数据验证。