Codedui UWP WaitForControlExist给出UITestControlNotFoundException

时间:2018-08-01 15:26:52

标签: c# uwp automation coded-ui-tests

我正在使用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";

1 个答案:

答案 0 :(得分:0)

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

某些“皮带和花括号”代码将等待每个父控件,如下所示:

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上。