2011-10-12 2 views
0

IE 8의 웹 응용 프로그램에 대해 실행중인 코드화 된 UI 테스트 모음이 있습니다. 오류없이 개별 테스트를 실행할 수 있습니다. 한 번에 두 개 이상의 테스트를 실행하려고하면 첫 번째 테스트 만 오류없이 실행됩니다. 두 번째 테스트를 시도하자마자 다음 오류가 발생합니다.한 번에 두 개 이상의 코딩 된 UI 테스트를 실행하려고하면 오류가 발생합니다.

"기본 RCW와 분리 된 COM 개체는 사용할 수 없습니다."

다음은 스택 추적입니다. 기본 UIMap을 UI 요소를 정의하는 클래스로 대체했다고 덧붙여 야합니다.

System.Variant.MarshalHelperConvertObjectToVariant(Object o, Variant& v) 
System.StubHelpers.ObjectMarshaler.ConvertToNative(Object objSrc, IntPtr pDstVariant) 
Microsoft.VisualStudio.TestTools.UITest.Playback.Engine.IRPFPlayback.ScreenElementFromNativeElement(Object varNativeElement, String technologyName) 
Microsoft.VisualStudio.TestTools.UITest.Playback.ScreenElement.FromNativeElement(Object nativeElement, String technologyName) 
Microsoft.VisualStudio.TestTools.UITest.Playback.ScreenElement.FromTechnologyElementInternal(IUITechnologyElement technologyElement) 
Microsoft.VisualStudio.TestTools.UITest.Playback.ScreenElement.FromTechnologyElement(IUITechnologyElement element) 
Microsoft.VisualStudio.TestTools.UITesting.UITestControl..ctor(IUITechnologyElement element, UITestControl searchContainer) 
Microsoft.VisualStudio.TestTools.UITesting.BrowserWindow.get_CurrentDocumentWindow() 
Microsoft.VisualStudio.TestTools.UITesting.SearchHelper.GetUITestControlRecursive(Boolean useCache, Boolean alwaysSearch, ISearchArgument searchArg, IList`1 windowTitles, Int32& timeLeft) 
Microsoft.VisualStudio.TestTools.UITesting.SearchHelper.GetUITestControlRecursive(Boolean useCache, Boolean alwaysSearch, ISearchArgument searchArg, IList`1 windowTitles, Int32& timeLeft) 
Microsoft.VisualStudio.TestTools.UITesting.SearchHelper.GetElement(Boolean useCache, ISearchArgument searchArg) 
Microsoft.VisualStudio.TestTools.UITesting.SearchHelper.Search(ISearchArgument searchArg) 
Microsoft.VisualStudio.TestTools.UITesting.UITestControl.FindInternal() 
Microsoft.VisualStudio.TestTools.UITesting.UITestControl.Find() 
Microsoft.VisualStudio.TestTools.UITesting.UITestControl.GetProperty(String propertyName) 
Microsoft.VisualStudio.TestTools.UITesting.UITestControl.GetPropertyInternal[T](String propertyName) 
Microsoft.VisualStudio.TestTools.UITesting.UITestControl.get_Exists() 
VerifySuccessfulLogon()[...]LogOnPage.cs: line 97 
AttemptLogOn()[...]WebUITest.cs: line 111 

미리 감사드립니다. - 제임스

+0

멀티 스레드 된 작업을 수행하고 있습니까? 타이머 등 –

+0

코딩 된 UI 테스트 자체에서 멀티 스레드 작업을 수행하지 않습니다. 코드화 된 UI 테스트와 동일한 프로젝트에서 System.Diagnostics.Stopwatch를 사용하는 성능 테스트를 수행 할 수 있지만 코드화 된 UI 테스트를 실행할 때는 테스트가 실행되지 않습니다. 그것이 어떤 것에 영향을 줄 수 있는지 확실하지 않습니다. 답변 해 주셔서 감사합니다. –

답변

1

다음 줄을 창에 추가하십시오. 예를 들어

this.SearchConfigurations.Add(SearchConfiguration.AlwaysSearch); 

,

이 문제가 해결됩니다 어도비 아크로뱃 윈도우

public class UIAdobeAcrobatProWindow : WinWindow 
{   
    public UIAdobeAcrobatProWindow() 
    { 
     #region Search Criteria 
     this.SearchProperties.Add(new PropertyExpression(WinWindow.PropertyNames.Name, "Adobe Acrobat Pro", PropertyExpressionOperator.Contains)); 
     **this.SearchConfigurations.Add(SearchConfiguration.AlwaysSearch);** 
     this.SearchProperties[WinWindow.PropertyNames.ClassName] = "AcrobatSDIWindow"; 
     #endregion 
    } 
} 

을 열기 위해, 나는 희망한다.

관련 문제