具有自动/编码UI测试的第三方WPF套件

时间:2012-02-03 22:46:25

标签: wpf devexpress automated-tests coded-ui-tests microsoft-test-manager

我的团队正在积极参与一个新项目,我们正抓住机会让自己了解最新的Scrum方法,新技术等。部分原因是尝试使用Microsoft Test Manager和VS2010自动化QA流程编码的UI测试。

但是,我们在使用我们当前选择的WPF控件库DevExpress XPF套件时无法使用自动测试回放。我们多年来一直使用DevExpress作为他们的WinForms和ASP.NET控件,但这是我们第一次使用他们的WPF控件,并且使用自动UI测试,这两者似乎并不能很好地协同工作。

特别是,尝试回放与网格控件交互的记录测试永远不会正常工作,即使在简单的控件上,回放似乎也会混淆应该与哪个编辑器进行交互。在动作录音中,我们的测试主管是从MTM产生的,我看到了很多这个:

Type '5236' in 'PART_Editor' text box
Type '253' in 'PART_Editor' text box

更糟糕的是,在网格内部:

Click 'FooterPanel' pane 
Last action on list item was not recorded because the control does not have any good identification property.
Click 'FooterPanel' pane
Click 'Item: CashEntry, Column ...' custom control 
Move 'Item: CashEntry, Column ...' custom control from (141,     10) to 'Item: CashEntry, Column ...' custom control (5, 11) 
Type '{NumPad8}{Down}{NumPad5}{NumPad0}{Up}{Down}{Down}' in 'CashEntry' window

现在,我在DevX的论坛上看到很多关于他们的WinForms控件不能很好地支持MSAA以便编码UI测试工作的讨论,但我认为WPF使用了一种不同的自动UI测试机制,应该可以更好地工作。所以,我的问题是:

  1. 有没有办法让DevX XPF控件在编码/自动UI测试中更好地工作?
  2. 如果没有,是否有替代的XPF控制套件可以很好地与编码/自动UI测试配合使用?
  3. 我特别感兴趣的是具有排序,分组等类似网格的组件,类似导航栏的组件以及自定义编辑器(日期,数字等),所有这些都支持统一的系统范围主题。 / p>

    (另外,如果这种类型的东西很容易使用原生的WPF控件和样式,那么也会有所帮助。)

    编辑:由于似乎没有实际可用于MTM的WPF控制套件,我们在山姆时被迫使用两个独立的测试工具。根据这里的几个答案,我们非常倾向于TestComplete。希望情况很快好转。

4 个答案:

答案 0 :(得分:2)

对控制套件支持这一点没有太多了解,但我们过去分析了一个支持基于对象的WPF自动化测试的测试套件。看看TestComplete(虽然它不是免费的)

以下是该网站提及他们提供的控制支持的摘录 -

  

WPF控件支持TestComplete为WPF(XAML)提供了丰富的支持   WPF应用程序的控件和强大的自动UI测试。   TestComplete的高级测试操作,例如项目选择或单元格   数据输入,是对象感知而不是坐标感知,因此是   执行WPF时,UI更改更稳定,更耐用   测试。灵活的对象映射方案允许测试人员映射自定义   或派生WPF控件到标准类型以简化UI   操作。 还可以添加对自定义WPF控件的支持   使用TestComplete SDK。

http://smartbear.com/products/qa-tools/automated-testing/testing-wpf-apps/

答案 1 :(得分:1)

我听说WiPFlash非常好。

答案 2 :(得分:0)

  • 在我们的一个项目中,我们使用了Infragistics个WPF控件,TestComplete也可以使用它。

  • 我们的QS小组也使用TestComplete

  • 我找到了一个独立于UI库的免费工具。

PROJECT SIKULI

  

Sikuli是一种自动化和测试图形用户的视觉技术   使用图像的界面(GUI)(屏幕截图)。 Sikuli包括Sikuli   脚本,Jython的可视化脚本API,以及Sikuli IDE   用于编写可视脚本的集成开发环境   截图轻松。 Sikuli Script可以自动完成您在上面看到的任何内容   屏幕没有内部API的支持。您可以以编程方式   控制网页,Windows / Linux / Mac OS X桌面应用程序,或   甚至是在模拟器或通过运行的iPhone或Android应用程序   VNC。

答案 3 :(得分:0)

刚发现这个帖子...... 我们使用DevExpress组件遇到了同样的问题, 在播放CUIT时无法找到。 但特别是对于Sikuli脚本,问题是可以解决的......至少。

  1. 使用MS Test Manager记录测试
  2. 播放测试,找到无法替代的步骤
  3. 创建Sikuli序列,然后跳过'
  4. 在CUIT的适当位置加入创建的Sikuli脚本,然后在第2步重新开始
  5. 以这种方式创建测试确实需要时间,但至少可能。