你想问一个奇怪的问题。它关于测试WPF应用程序。
我当前测试的对象是一个自发打开信息对话框的WF应用程序。这些对话框是模态的,每次都可以打开。对于在该应用程序上运行的自动化测试而言,这非常令人不安。每当我的测试人员访问可视化树并尝试访问GUI(如调用按钮等)时,就会发生这样的对话窗口打开,通过其模态阻止GUI并使测试失败。
解决这个问题的一个想法是阻止这些对话框打开。我无法直接更改测试中的应用程序的行为,但我可以订阅所有窗口事件(如初始化,加载,呈现等)。我想使用其中一个事件来防止窗口打开并以模态方式阻止GUI。
我尝试使用加载的事件,因为它是实际显示窗口之前的最后一个事件,但是在相应的窗口上调用Close()会导致崩溃。我也试过Hide()...这可以防止窗口被看到,但是GUI仍然被不可见的对话框阻挡。
有人知道如何有效地阻止WPF窗口/对话框打开,或者至少从模态阻止GUI?