Codedui UWP WaitForControlExist 给出 UITestControlNotFoundException

Codedui UWP WaitForControlExist gives UITestControlNotFoundException

我正在使用 codedui 测试 xamirin 桌面应用程序 当我使用 Playback.Wait(2000) 时测试运行良好,但这效率不高,因为我需要为测试用例花费时间获得准确的结果,所以我使用 UiCodedControl.WaitForControlExist(); 但是当我调试测试时,这一行给我:UITestControlNotFoundException

XamlWindow.Launch("Viu.OPGFELApplication_zf8xyq721yjt6!App");
                //Playback.Wait(2000);
                this.UIMap.FMELogWindow.LoginPanel.UIItemCustom1.DISN.WaitForControlExist();
                this.UIMap.FMELogWindow.LoginPanel.UIItemCustom1.DISN.Text = "123456S";

代码正在等待 ...DISN UI 对象存在,但很可能在调用 Wait... 时其父对象之一也不存在。

一些 "belt and braces" 代码会等待每个父控件,如下所示:

this.UIMap.FMELogWindow.WaitForControlExist();
this.UIMap.FMELogWindow.LoginPanel.WaitForControlExist();
this.UIMap.FMELogWindow.LoginPanel.UIItemCustom1.WaitForControlExist();
this.UIMap.FMELogWindow.LoginPanel.UIItemCustom1.DISN.WaitForControlExist();

但是,可能不需要上面的前一两个 Wait... 调用。在不知道应用程序的情况下,我建议只需要一个 Wait...,它可能在 LoginPanelUIItemCustom1.