我打算使用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);
虽然我想出了一种方法来捕捉它的工具提示值,但除此之外,我无法找到方法来定位/捕捉其他元素,例如轴上的标签,用于折线图,图例等
任何帮助都是适当的
答案 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将打印报表元素值,我们可以将其与数据库进行比较,以便进行数据验证。