![](/img/trans.png)
[英]How can I verify the state of a WPF checkbox during a UI Automation Unit Test using the Windows Application Driver?
[英]Test Automation of WPF Application
我们正在开发与服务器交互的新WPF应用程序。 该应用程序向服务器发送请求并获得响应。 在不同的视图中以不同的方式显示响应(即具有多个视图的单个模型)。
现在我们要自动化WPF应用程序的测试。 我有以下测试自动化需求:
请让我知道如何使用任何Test自动化工具实现以上目标。
您描述的此功能称为“记录和播放”。 正如您已经提到的,它仅限于简单的UI交互,并且很难维护。
一旦您的交互逻辑变得更加复杂,您将必须通过使用更分层的体系结构来手动实现测试用例逻辑的主要部分。 一种可能的体系结构可能具有以下几层(此处的某些思想摘自《 持续交付:通过构建,测试和部署自动化进行可靠的软件发布 》一书)
最低层将实现对UI控件本身的访问(例如,通过使用您提到的UI测试API之一)。
应用程序驱动程序层,描述您的应用程序的功能。 在这里,您可以使用类似LoginForm.LoginUser(userName,passWord)
。 在内部,此方法可以例如处理完整的用户输入,按所有必需的按钮,甚至在需要时进行一些其他验证(例如,如果密码已过期并且必须重新输入)。 该层中的方法将通过较低层访问不同的UI控件。 通常,此层是您正在测试的应用程序的抽象。
用例/测试用例层。 在这里,您可以通过调用应用程序层来定义不同的测试步骤。
因此,在您的具体情况下,您可以在应用程序驱动程序层中拥有一个名为ClientSoftware
的类,并且该类可以具有ValidateUserInput
或SendRequestToServer
类的方法。 然后,这些方法将实现必要的UI交互以执行所需的行为。 然后,在测试用例本身中,您将必须设置ClientSoftware
的实例并调用所需的方法来实现您的测试用例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.