2014-06-18 2 views
0

5 개의 UIMaps로 된 UI 프로젝트를 코딩했습니다 .UIMap 중 하나가 매우 크고 테스트 응용 프로그램의 여러 기능을 다루고 있습니다. 코딩 된 UI 재생이 너무 느려집니다. 큰 UIMap의 일부 기능을 별도의 UIMaps로 분리합니다. 그러나 여전히 일부 테스트 방법은 평소보다 느리게 실행됩니다.이 문제를 해결할 수있는 솔루션이 있습니까?코드화 된 UI 실행이 평소보다 극도로 늦습니까?

답변

0

그물에서 검색 한 후 알아 냈습니다. 최신 버전으로 인해 기본 창의 클래스 이름이 변경되었습니다. 최신 주 윈도우 이름을 확인하고 다음 링크의 지시에 따라 UIMap 생성자에 추가합니다. Mathew Aniyan's Blog

1

TestInitialize 부분에서 아래 설정을 사용하고 이것이 목적을 해결하는지 여부를 확인할 수 있습니다. 이제 UI 컨트롤이 사용 중이며 입력을받을 준비가되지 않았을 때마다 성가신 수면 명령문을 추가 할 필요가 없습니다. 기본적으로 엔진은 UI 스레드 (포 그라운드 스레드)를 검사하여 컨트롤이 준비되었는지 확인합니다. Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.Disabled;

이 기능을 구현하면 실행 시간을 줄일 수 있습니다.

+0

'Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.Disabled; '는 재생의 느린 문제를 해결하지 못합니다. UIMap 재현이이 문제를 해결할 것이라고 생각합니까? –

1

아직 답변을 드릴 수 없습니다.

나는 동일한 문제가있었습니다. Coded ui Test fails at random times on server

waitforcontrolready는 PropertyExpressionOperator.Contains 옆에있는 솔루션으로 변수 제목을 검색했습니다. 또한 UIMap에서 컨트롤의 controlID를 확인하십시오. 화면에 열려있는 창에 따라 바뀔 수 있습니다. 100 % 확신 할 수 없다면 모두 제거합니다.

+0

예, 일부 상황에서는 controlID를 제거하면 재생 속도가 빨라집니다. 하지만 일부 동적 컨트롤에 대해 SearchConfiguration.AlwaysSearch 속성을 추가하는 데 사용되었습니다. 창과 같은 상위 계층 컨트롤에이 속성을 추가하면 창의 자식 컨트롤을 사용할 때마다 처음부터 검색해야하므로 재생 속도가 자동으로 느려집니다. –

관련 문제