WPF应用的测试自动化

时间:2014-11-01 20:58:13

标签: c# wpf testing automation

我们正在开发一个与服务器交互的新WPF应用程序。应用程序向服务器发送请求并获得响应。响应在不同视图中以不同方式显示(即具有多个视图的单个模型)。

现在我们想要自动化WPF应用程序的测试。我有以下测试自动化需求:

  1. 使用用户输入的参数验证发送到服务器的请求。
  2. 使用多个视图中显示的数据验证从服务器收到的响应。
  3. 请使用任何测试自动化工具告诉我如何实现上述目标。

1 个答案:

答案 0 :(得分:1)

您描述的此功能称为"录制和播放"。正如您已经提到的那样,它仅限于简单的UI交互,并且可能难以维护。

只要您的交互逻辑变得更加复杂,您就必须使用更加分层的架构手动实现测试用例逻辑的主要部分。一种可能的架构可以包含以下层(这里的一些想法来自书籍Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

  • 最低层将实现对UI控件本身的访问(例如,使用您提到的其中一个UI测试API。)

  • 应用程序驱动程序层,它描述了应用程序的功能。在这里,您可以使用LoginForm.LoginUser(userName,passWord)等方法。在内部,此方法可以处理完整的用户输入,按下所有必要的按钮,甚至在需要时进行一些额外的验证(例如,如果密码已过期且必须重新输入)。此层中的方法将通过较低层访问不同的UI控件。通常,该层是您正在测试的应用程序的抽象。

  • 用例/测试用例层。在这里,您可以通过调用应用程序层来定义不同的测试步骤。

因此,在您的具体案例中,您可以在应用程序驱动程序层中使用名为ClientSoftware的类,此类可以包含ValidateUserInputSendRequestToServer等方法。然后,这些方法将实现必要的UI交互以执行所需的行为。在您的测试用例中,您必须设置ClientSoftware的实例并调用所需的方法来实现您的测试用例。