目前在 ATG 商店担任教练,想介绍某种形式的客户验收测试。我选择的武器通常是 Fitnesse,但这里的人说用 Fitnesse 驱动 ATG 是不可能的。我想知道是否有其他人尝试过这个,如果有,他们的经历是什么?提前致谢 - davep
3 回答
我假设您在谈论 UI 测试,而不是代码级测试;“客户验收测试”对我来说意味着 UI。
我在 ATG 上工作,我使用HtmlUnit和WebDriver进行 UI 测试,使用 JUnit 编写的测试直接使用这些框架。我们的 QA 人员使用Sahi。
我从来没有用过Fitnesse。然而,在快速浏览它之后,我没有看到任何阻碍。您想编写使用 HtmlUnit 或 WebDriver(我推荐 WebDriver)的夹具来访问站点并在夹具方法中执行操作。这将涉及三个正在运行的进程:Fitnesse 服务器、一个运行灯具的进程,然后是 ATG 本身。我不会尝试在 ATG 内运行固定装置。不适用于 UI 测试。
那是你在想的那种事情吗?
推荐的方法是从 ATG 公开一个 API(例如 REST+JSON Web 服务),并使用 Fitnesse 来驱动它。
这样做的好处是,不仅更容易测试,而且还支持响应式 HTML 5 和原生移动应用程序。
根据您的 ATG 版本,有多种机制可以将组件公开为 REST 服务。不过,更好的是,将 Mobile Cube ( http://www.deliverycube.com ) 视为可用于在 ATG 上构建 REST API 的框架。(完全披露,我设计了框架)
在我当前的项目中,我们使用 FitNesse 来测试使用 ATG 的应用程序。
我们使用 dyn admin injection 固定装置来准备测试数据(例如,创建一个 Web 用户)。而不是我们根据通常的测试场景使用步骤。