0

Microsoft Test Manager 용 명령 줄 인터페이스 (tcm.exe)를 사용하여 자동화 된 테스트 실행을 시작하기위한 PowerShell 스크립트가 있습니다.tcm을 통해 테스트를 시작한 후 테스트 실행 ID 받기

또한 테스트 결과 (tcm.exe 실행/내보내기)를 내 보낸 테스트 실행 (.testsettings 파일에서)과 관련된 정리 Powershell 스크립트가 있지만 내 문제는 테스트 실행 ID가 필요하다는 것입니다. . 'tcm.exe run/create'명령을 실행하면 출력되지만, 우선 "Run with ID : 501"이라는 출력이 나오기 때문에 아무 쓸모가 없습니다. 두 번째로/create 명령은 별도의 PowerShell 스크립트.

tcm.exe run/list를 사용하여 모든 테스트 ID의 목록을 가져올 수 있지만, 가장 최근의 테스트를 하나만 실행하면되므로 쓸모가 없습니다.

의견이 있으십니까?

+0

출력 방법이 잘못 되었나요? 정규식 ". + (\ d *)"로 ID를 추출 할 수 있습니다. 그리고 "별도의 PowerShell 스크립트"는 무엇을 의미합니까? 모든 기능이 하나의 세션에서 실행 되었습니까? 마찬가지로 PShell을 열고 스크립트 1을 호출 한 다음 2, 3을 호출합니다. 또는 PShell을 열고 PShell을 닫고 PShell을 닫은 다음 새 PShell을 열고 스크립트 2를 호출합니다. – SpellingD

+0

PowerShell 스크립트가 테스트 실행을 시작한 다음 닫습니다. 한편, 테스트 실행은 원격 환경에서 시작됩니다. 테스트가 끝나면 테스트 결과를 내보내는 스크립트를 실행 한 다음 결과 파일을 읽고 결과를보고하기 위해 이메일을 보냅니다. –

+0

실행이 끝나면 스크립트를 시작한다고 말하기 때문에 테스트 실행이 스크립트 안에 포함되어 있다고 가정하므로 출력을 캡처하고 테스트를 실행하는 데 필요한 ID를 가져 와서 전달해야합니다. 그것을 다음 스크립트로 인수로 사용하십시오. – SpellingD

답변

0
"Microsoft Test Manager : Start automated sanity test" 
$testRunID = & "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\TCM.exe" run /create /title:"Automated UI Tests" /planid:27 /suiteid:721 /configid:10 /settingsname:"UI Test Settings" /testenvironment:"MyTestEnvironment" /collection:"http://MyCollection" /teamproject:Main /builddir:"C:\MyBuildDir" /include 

"Get test run ID from TCM output" 
$testRunID = $testRunID.substring(21) 
$testRunID = $testRunID.TrimEnd(".") 

"Store test run ID in user environment variable" 
[Environment]::SetEnvironmentVariable("CodedUITestRunID", "$testRunID", "User") 

이것은 내 해결책입니다. 나는 tcm.exe의 실행 결과를 $ testRunID에 저장하고, "Run with ID :"라는 문자열의 시작 부분을 제거한 다음, 문자열의 끝에서 전체 중지를 제거하고 나에게 남겨 둡니다. 테스트 코드는 .NET 코드 (here 참조)를 사용하여 환경 변수로 설정합니다.

"Test Run ID" 
$testRunID = [Environment]::GetEnvironmentVariable("CodedUITestRunID", "User") 

"Microsoft Test Manager: Export test results" 
& "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\TCM.exe" run /export /id:"$testRunID" /resultsfile:"C:\ResultsPath\MyResultsfile.trx" /collection:"http://MyCollection" /teamproject:"Main" 

이 단지에서 테스트 실행 ID를 검색합니다

나중에 내가 테스트 실행이 완료 가정하고 (무엇보다도)를 포함하는 스크립트를 실행하는 예약 된 작업이 다음 환경 변수 이전에 설정 한 다음 테스트 실행 ID를 입력하여 Microsoft Test Manager 명령 줄 유틸리티 (tcm.exe)의/export 명령을 실행합니다.