【问题标题】:How to do an automated UI test on a diagramming WPF application如何在图表 WPF 应用程序上进行自动化 UI 测试
【发布时间】:2019-08-09 00:12:52
【问题描述】:

假设我有一个像这个例子这样的 WPF 图表应用程序: https://www.codeproject.com/Articles/24681/WPF-Diagram-Designer-Part-4

  • 如何对以下功能进行自动化 UI 测试:
  • 每次拖放插入一个新项目
  • 连接 2 个项目
  • 删除项目

我见过像“White”或“Appium”这样的测试库,它们对一些文本输入很有用,但我不知道如何做,例如在自动化测试中拖放项目。

【问题讨论】:

标签: wpf testing automated-tests appium


【解决方案1】:

一个图表应用程序不同于另一个图表应用程序。即使在这两种情况下都使用 WPF。重要的是项目和连接线的建模。

如果项目是常规的 WPF 控件,那么任何支持重放(甚至可能记录)诸如单击、鼠标按下、释放和拖动等动作的测试工具都将支持上述动作的自动化。像

这样的语句
dragAndDrop(source, sx, sy, target, tx, ty)

这假定源和目标对象的可靠标识。他们是否有独特的属性来告诉一个人,例如?其他的线元素?

如果被测应用程序在画布上呈现项目(就像 WPF 图表设计器似乎所做的那样),那么基于对象的访问可能就没有问题了。基于图像的方法可能是唯一可行的解​​决方案。使用image-based 测试相当于上述dragAndDrop() 调用:

var img = waitForImage("MyItem");
var x = img.x;
var y = img.y;
mousePress(x, y, MouseButton.LeftButton);
mouseMove(x, y);
mouseRelease(x,y, MouseButton.LeftButton);

同样,识别线条等原始元素可能具有挑战性。在这种情况下,我会编写一些脚本并查询应用程序的图表结构的内部模型及其元素的位置。

【讨论】:

    猜你喜欢
    • 2015-08-15
    • 1970-01-01
    • 2010-09-17
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多