我正在使用编码的 ui 来进行自动化我需要计算为测试用例打开了多少个窗口,但不知道该怎么做。已经尝试使用 find 和 get the applicationundertest 并走孩子们,但似乎窗户不属于它。
有人有这方面的经验吗?
我正在使用编码的 ui 来进行自动化我需要计算为测试用例打开了多少个窗口,但不知道该怎么做。已经尝试使用 find 和 get the applicationundertest 并走孩子们,但似乎窗户不属于它。
有人有这方面的经验吗?
大多数 UI 框架都有一组打开的窗口。
窗体:
int count = Application.OpenForms.Count;
包含此应用程序拥有的所有当前打开的表单的 FormCollection。
WPF:
int count = Application.Current.Windows.Count;
只要在用户界面 (UI) 线程上实例化窗口,就会自动将窗口引用添加到 Windows;不添加由工作线程创建的窗口。Window 引用在其 Closing 事件被处理后且在其 Closed 事件引发之前被自动删除。
只需在主实例中创建一个静态 int 并在所有表单构造函数中计数,并在 FormClosing 事件中计数
也许这个简短的代码会有所帮助
this.Load += delegate { mainInstance.myCount++; };
this.FormClosing += delegate { mainInstance.myCount--; };