4

我们正在开发一个基于 Eclipse 的 RCP。最近我们更新到 Eclipse Juno,目前我们关注质量,这当然使自动化测试成为焦点,因为应用程序非常大并且测试工作延迟了发布。

我们已经在编写 JUnit 测试,但我对 UI 测试更感兴趣。对于较旧的 Eclipse,这不是问题。周围有很多很好的测试框架。不幸的是,由于增加了通过 Swing 或 JavaFX 切换默认 SWT UI 的能力,Juno 一切都发生了变化(至少这是我对导致问题的变化的理解)

所以大多数测试工具不再正常工作。从过去的经验看来:

  • SWTBot最近好像不太喜欢,而且很不稳定(某些版本找不到元素)
  • Window Tester看起来相当不错,但在测试运行期间识别元素有很多问题(尤其是内容辅助或工具提示等弹出窗口)
  • 显然Froglogics Squish支持 Juno,但由于许可证费用约为 2,5k 欧元,我必须通过
  • QF-Test似乎也是如此(太贵了)。
  • 这留下了我们过去尝试过的Jubula (或 GUIDancer,即商业 Jubula),但它与 Window Tester 和 SWTBot 存在类似的问题(在 Eclipse 平台的更改和检测某些元素方面的困难方面不稳定)

我需要知道,应该关注/信任哪个工具。是否有人对其中一种工具有经验,甚至目前正在测试 Juno RCP(或 Juno 本身)?或者有人知道 Eclipse 如何测试他们自己的平台(如果他们甚至在 atm 上测试)?

搜索与“test”、“Juno”和“UI/GUI”相关的信息,只会找到商业产品。

对我来说,重要的是找到一个工具,即使在未来的版本中,我也可以使用开发的测试用例,这意味着: 一个框架项目,它得到了社区的一些支持,以便能够快速适应。同样重要的是找到工具提示、覆盖或内容辅助/建议之类的东西 - 与基本的 HTMLUnit 相比,类似于 Selenium。

在这一点上,我什至不太关心集成、报告或遵守标准。

4

2 回答 2

4

您可以在 Eclipse Wiki 中找到 GUI 测试工具的综合表: http ://wiki.eclipse.org/Automated_Testing#UI_tests

您必须做出的一个重要决定是,如果您想使用鼠标记录/创建测试(Jubula、QFTest,...),如果您希望能够手写测试代码(SWTBot,... ),或者如果您希望两者都可以(WindowTester Pro,...)。

Eclipse Juno 相当新,我预计所有列出的工具都会出现问题,但是迁移应该不会花那么长时间,因为这些工具中的大多数主要集中在测试 SWT-widgets 并且 Juno 仍然使用 SWT。到目前为止,除了技术演示之外,我还没有收到任何认真使用 JavaFX 的 RCP 应用程序的消息,但我很想看到它们!

我认为问题在于测试 Eclipse 很困难,而 GUI 测试尤其困难。您可能想看看这项发现并解释主要问题的研究: http: //swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2011-010.pdf

如果您相信这项研究,那么 JUnit 测试通常比 GUI 测试更可取。好吧,有了 Juno,您就有了一个很大的优势,即现在对 Eclipse 进行单元测试比以往任何时候都更容易,因为框架从继承和单例切换到依赖注入,这使得它更易于测试。

于 2012-10-16T20:44:24.530 回答
1

我建议你也看看Xored 的 Q7,它用于对一些 Eclipse 项目进行 GUI 测试,包括 Eclipse DLTK、Eclipse LDT、Eclipse Tigerstripe,而且这个工具非常完美:它让你每天可以为每个工程师开发数十个 UI 测试,并且没有稳定性和错误录制的问题。它是专门设计的,仅用于测试基于 Eclipse 的应用程序,并且显然是该领域中最好的。

但是它需要花钱,这对你来说可能是一个障碍(比如 squish),但是他们有一个免费的社区版本,这对于大多数用例来说已经足够了。以及那些 Xored 人刚刚介绍了按测试执行付费的定价模型——这些工具将是免费的,您只需按每月执行的测试付费(少于 5000 个是免费的)。更多关于新模型的信息在这里eclipse-testing.com

于 2012-11-01T11:24:16.803 回答