如何在PowerBi仪表板上自动执行数据验证测试?

时间:2018-08-01 15:04:10

标签: selenium testing automation ssms powerbi

我是一个小项目的一部分,我们在那里有一个数据仓库,并生产PowerBi仪表板,以显示仓库中存储的各种数据。

例如,我们可以在仪表板上以表格形式显示每项索赔的类型和费用(例如,盗窃案的索偿金额为1000英镑)。

我的问题是,是否仍然有创建自动化测试脚本的方法,以便我们可以检查powerBi仪表板上显示的数据总和是否正确?

我可能会创建一个测试脚本,用于比较仪表板基本查询中的数据-但那是在进行DAX计算之前,然后将输出显示在powerBi视觉效果上。 硒有可能吗?

1 个答案:

答案 0 :(得分:0)

硒是一种可能性。我曾在一个有类似需求的客户处工作,这是一个数据仓库,在显示之前报告从中提取数据并进行过滤或聚合。我们构建了一个测试框架来测试数据仓库(测试数据是否被加载并转换到正确的位置)和 Power BI 报告,我们使用 Selenium 从图表中提取数据并将它们与 SQL 的结果进行比较查询数据仓库。

如果你真的沿着这条路走,我有一些建议:

  • 尝试使用 Power BI 的“导出到 csv/Excel”功能(位于可视标题的溢出菜单中),因为从某些图表中提取值可能非常棘手。例如,聚类条形图可能会很麻烦,因为您正在处理聚集在某个 X 坐标上的值。
  • 如果您无法导出数据,那么下一个最佳方法是使用大多数图表都具有的“显示为表格”选项。这会将任何视觉对象的数据格式化为表格,与图表本身相比,从表格中提取数据要容易得多。不过,您必须注意一些事项,例如有些表格会将所有列标题塞入角落单元格中,并用逗号分隔它们!
  • 让您的开发人员在任何地方使用 alt-text,因为它会让您的选择器更容易。一旦你让他们在你的所有图表上放置唯一的替代文本,你通常可以使用一个 CSS 选择器来查找具有等于该替代文本的 'aria-label' 属性的元素。我的大部分框架都是围绕这一点构建的。
  • 充分利用动态等待(WebDriverWait 类对此非常有用),因为 Power BI 将加载报告页面,但图表在呈现之前仍将等待来自服务的查询结果。

使用 Selenium 绝对是一种选择。这可能有点挑战性,因为您需要弄清楚如何随着测试数量的增长而扩展它,并且您必须处理可能与团队其他成员不同的技能集需求。我构建了 PowerTester 来解决其中的一些问题,因为 Selenium 框架最终成为我的团队在每个 sprint 中可以完成的工作量的瓶颈。