首页 > 解决方案 > 如何在 PowerBi Dashboards 上自动化数据验证测试?

问题描述

我是一个小项目的一部分,我们有一个数据仓库并生成 PowerBi 仪表板,这些仪表板显示存储在仓库中的不同类型的数据。

例如,我们可以有一个仪表板视觉效果,以表格的形式显示每个索赔的类型和成本(例如,1000 英镑的盗窃索赔)。

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

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

标签: seleniumtestingautomationssmspowerbi

解决方案


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

如果您确实走这条路,我有一些建议:

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

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


推荐阅读