我们希望使用编码的ui测试框架编写自动化测试。我们希望单独测试ui组件,而无需在单独的进程中启动应用程序。
例如,如果我们在应用程序中有一个弹出对话框来捕获用户的数据,我们只希望启动特定对话框并验证不同的用例,而不是运行整个应用程序。
我们尝试通过启动对话框作为测试initialize()的一部分进行测试,但它无法找到控件...但是如果我单独启动对话框,相同的测试工作正常。
有没有人试过这个或者建议让它工作?
答案 0 :(得分:2)
编码的UI框架是一个非常强大的框架,但有许多问题(我的意思是LOTS)。
我不建议你做你想要完成的事情。
此外,测试“隔离组件”是单元测试,根据我的经验,这根本不是编码UI测试的最佳实践。
编码的UI测试将帮助您测试端到端的跨应用程序进程,因为它通过击键和鼠标点击模拟用户输入,因此最接近用户。
此外,由于UI在开发过程中往往会发生很大的变化,而且Coded UI依赖于此,我建议您将它主要用于对已知不会很快改变的Windows的回归测试。 通过这种方式,您可以保持低维护率和高生产率。
希望这有帮助。
答案 1 :(得分:1)
编码用户界面旨在检查应用程序(以及网页)的功能。编码的UI不用于测试与其应用程序分开的UI片段。但是,可以创建一个包含一个或多个UI组件的测试工具应用程序,允许它们与实际应用程序隔离进行测试。
测试工具可以轻松为每个正在测试的组件创建一个窗口。该窗口将包括正在测试的组件以及一些其他简单控件。这些简单的控件可以公开被测组件的内部值,也可以用于将值传递给组件。
答案 2 :(得分:0)
我认为您尝试做的事情是可行的,但仅适用于您自己的自定义控件。我认为你应该按此顺序解决这个问题。
TestInitialize
生成器添加属性,以便使用有用的ID,名称或标题创建控件。 (不确定你的控件所在的技术堆栈)