2017-11-01 17 views
0

Windows .bat 파일을 사용하여 코드화 된 UI 테스트를 실행하는 방법을 알고 있습니다. 비교적 간단합니다. MS 테스트 에이전트 here을 다운로드하고 VS 2017 또는 VS 2015에 대한 관련 링크 만 사용하십시오. 코딩 된 UI 프로젝트에서 빌드 -> 배치 빌드를 선택하십시오. dll을 복사하고 코딩 된 UI DLL을 참조하는 .bat 파일을 만듭니다..bat 파일을 사용하여 코드화 된 UI 테스트를 실행하면 실행할 코드화 된 UI 테스트를 어떻게 지정합니까?

내 .bat 파일은 다음과 같습니다 참고로

C: 

cd codedui 

set mstestPath="C:\Program Files (x86)\Microsoft Visual 
Studio\2017\TestAgent\Common7\IDE" 

%mstestpath%\mstest /testcontainer:AppUnderTestCodedUITesting.dll 

이 단계는 더 자세히 here에 적용됩니다.

내 질문은 : 어떻게 내 .bat 파일을 사용하여 테스트를 하나만 실행합니까? 문제는 설명 된 방법을 사용하면 모든 테스트가 실행된다는 것입니다. 물론 나는 수 백가지의 작은 테스트를 가지고있다. (각 테스트는 일반적으로 1 개의 버튼을 클릭하거나 1 개의 작은 것을 클릭한다.) 나는 그 모든 작은 테스트를 실행하고 싶지 않아, 나는 1과 1 단지 주문 테스트 싶어요. 이것을 어떻게 성취합니까?

미리 감사드립니다.

답변

0

종종 머리가 긁힌 후, 나는 스스로 답을 찾았습니다. 방금/test 옵션을 추가해야했습니다. 그래서 내 테스트 라인은 다음과 같습니다 :

%mstestpath%\mstest /testcontainer:SynTQCodedUITesting.dll /test:common_test_A 

"common_Test_A"는 내 테스트의 이름입니다. 나는 여전히 정렬 된 테스트를 지정하는 방법을 모르지만 코딩 된 UI 프로젝트에서 약간의 변화가있어 내가 원하는 순서대로 필요한 모든 테스트를 실행할 수있다. 주문한 테스트와 조금 다르다. .

테스트 대신 주문 테스트를 지정하는 방법을 알고있는 사람은 놀라 울 것입니다.

0

내가 확인하지 수 있지만, 당신은 ordered test 다음 testcontainer으로 정렬 된 테스트 파일을 사용하여 만들려고했다 :

테스트 컨테이너 실행할 검사를 포함하는 파일입니다. 예를 들어, 순서가 지정된 테스트의 경우 테스트 컨테이너는 정렬 된 테스트를 정의하는 .orderedtest 파일입니다. 이 방법이 작동하지 않는 경우

, 당신은 테스트를 쉼표로 구분하여 실행할 선언 할 수

%mstestpath%\mstest /testcontainer:SynTQCodedUITesting.dll /test:common_test_A,comm_test_B 

그러나 그들은 정렬되지 않습니다. 나는 MSTest가 클래스와 메서드의 이름에 따라 그들을 재생할 것이라고 생각합니다.

하나의 주 테스트에서 모든 테스트를 실행해서는 안됩니다. 하나의 테스트가 실패하면 기본 테스트도 실패하고 (예외 관리없이) 모든 추가 테스트는 실행되지 않습니다. TestInitialize 및 TestCleanup 메서드를 사용하여 서로 다른 테스트를 수행해야합니다.

세분화는 테스트를 디버깅 할 때도 중요합니다.