我写了这样的代码:
int timeOut = 300000; //milliseconds
string _displayTextProp = "DisplayText";
WpfText screenResult = MainWindow.UITableStatusControlCustom.ScreenResultLabelValue;
screenResult.WaitForControlExist(timeOut);
screenResult.WaitForControlPropertyNotEqual(_displayTextProp, null, timeOut);
screenResult.WaitForControlPropertyNotEqual(_displayTextProp, "0", timeOut);// (1)
在这个(1)方法中,我得到了异常 UITestControlNotAvailableException
测试方法抛出异常:Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException:控件不可用或无效。---> System.Runtime.InteropServices.COMException:来自 HRESULT 的异常:0x80042002 at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode) at MS .Internal.Automation.UiaCoreApi.CheckError(Int32 hr) 在 MS.Internal.Automation.UiaCoreApi.UiaGetPropertyValue(SafeNodeHandle hnode, Int32 propertyId, Object& value) 在 System.Windows.Automation.AutomationElement.GetCurrentPropertyValue(AutomationProperty property, Boolean ignoreDefaultValue) 在System.Windows.Automation.AutomationElement。DisplayClass4.<WaitForControlPropertyNotEqual>b _3(UITestControl ctrl) at Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForCondition[T](T conditionContext, Predicate 1 conditionEvaluator, Int32 millisecondsTimeout)
at Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlCondition(Predicate
1 conditionEvaluator, Int32 millisecondsTimeout) at Microsoft.VisualStudio.TestTools.UITesting.UITestControl.WaitForControlPropertyNotEqual( String propertyName, Object propertyValue, Int32 毫秒Timeout)
是什么原因可以是这样的行为?
谢谢你的提前!