5

우리는 매일 TestComplete를 사용하여 테스트를 통합하려고합니다. 지금까지 우리는 테스트 전용 컴퓨터를 가지고 있었고 TestComplete가 테스트 (어플리케이션, 데이터베이스, 테스트 스크립트 프로젝트 및 소스 파일, 기타).TestComplete를 사용하여 테스트 실행 프로세스를 자동화하는 방법은 무엇입니까?

기본적으로 TestComplete 프로젝트를 수동으로 열고 테스트를 실행할 수 있습니다.

이제이 프로세스를 자동화하고 싶습니다. 어떻게 처리합니까? 또는이 자동화를 구현하는 가장 단순하고 최상의 방법은 무엇이라고 생각하십니까?

우리는 각 빌드 후에 TestComplete를 열고 모든 테스트를 실행하고 테스트 결과가 포함 된 전자 메일을 보내는 프로세스를 자동화하려고합니다.

누구든지 이에 대해 약간의 경험을 공유 할 수 있습니까?

감사합니다.

답변

4

내 자신의 질문에 대답 :

솔루션은 시스템 트레이에 앉아 및 폴더를 모니터링하는 약간 C# 응용 프로그램을 작성했다.

새 폴더 (테스트 소스 코드 포함)가 모니터링되는 폴더에 추가되면 TestComplete가 명령 줄을 사용하여 호출되고 응용 프로그램은 ExitCode를 catch하고 첨부 된 로그 파일이 첨부 된 전자 메일을 보냅니다.

내가 테스트에서 무슨 일이 있었는지 알고가 ExitCode에 따라 가능한 ExitCodes은 다음과 같습니다

0 - 마지막 테스트는 오류 또는 경고를 생성하지 않았다.
1 - 마지막 테스트 결과에는 경고가 포함되지만 오류는 없습니다.
2 - 마지막 테스트 결과에 오류가 있습니다.
3 - 오류로 인해 테스트를 실행할 수 없음

ExitCodes에 대한 자세한 내용은 TestComplete 도움말 파일을 참조하십시오.

3

저는 TestComplete를 사용하지는 않았지만 QA Wizard Pro라는 경쟁 패키지를 사용했습니다. 이 질문을하기 때문에 TestComplete가 기본적으로 지원하는 것이 아니라고 가정합니다. QA 마법사는 동일한 방식으로 실행될 수있는 테스트 실행 파일이 있지만 자동으로 실행되는 대신 수동으로 실행되기를 기대합니다. QA 마법사의 경우 작업 스케줄러에서 야간에 실행 된 배치 파일을 만들었습니다. 소프트웨어를 실행하는 계정은 데스크톱과 상호 작용할 수 있어야하며 사용자는 에 로그인하고을 표시해야합니다. 나는 AutoHotKey이라는 무료 소프트웨어를 사용하여 테스트 실행을 자동화 한 다음 Cygwin 도구를 사용하여 결과를 구문 분석하고 결과를 Blat으로 보내 전자 메일을 트리거합니다. 완벽한 솔루션은 아니지만 작동합니다.

1
Set wshShell = CreateObject("WScript.Shell") 
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs(your script path)"" /r /p:(Project Name) /u:(Unit Name) /rt:(Method to be executed) /e /SilentMode") 

위의 행을 메모장에 복사하고 .vbs 파일로 저장하십시오.
.bat 파일을 만들어 통합 서버에 저장하십시오.
TestComplete가 exe 인 bat 파일을 통해 위에서 언급 한 .vbs 파일의 경로를 찾습니다.

박쥐 파일에 대해 당신은

C:\WINDOWS\system32\cmd.exe 
WScript.Echo "" 
Set wshShell = CreateObject("WScript.Shell") 
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs"" /r /p:prj1 /u:Unit1 /rt:Test1 /e") 

저장 .bat 확장명이 txt 파일로 직접 메모장에서이 라인을 작성할 수 있습니다. 그런 다음 CI 서버를 통해 작업을 생성하십시오.

2

TestExecute도 사용해야합니다. 이것은 TestComplete 스크립트를 실행할 자동화 된 QA의 (훨씬 저렴한) 프로그램입니다.

이렇게하면 빌드/테스트 서버에 대한 전체 TestComplete 라이센스가 필요하지 않습니다.

2

당신이 TestExecute를 가지고 있다면 이것을 시도하십시오. 매번 작동합니다 ....

C:\PROGRA~1\AUTOMA~1\TESTEX~1\Bin\TestExecute.exe "path\Project.pjs" /r /e 
0

다른 활동 방법이 있습니다. 가장 우수하고 가장 강력한 방법은 Cruise control.NET을 사용하여 테스트/개발주기를 지속적으로 통합하는 것입니다.

두 번째 방법은 명령 줄 매개 변수를 사용하여 테스트 완료 스크립트를 실행하는 배치 파일을 만드는 것입니다. 이 배치 파일의 실행을 예약하십시오. 또한 하나의 간단한 응용 프로그램 (Excel/Test Cases의 테스트 결과를 testApp로 업데이트)을 testApp로 포함하십시오. 모든 테스트 케이스/시나리오가 실행 된 후에 이것을 호출하십시오. TC 실행을 완료 한 후이 결과를 전송하는 우편 프로그램 기능을 작성하십시오.

이미이 두 가지 방법을 사용하여,

0

가장 간단한 해결책은 명령 줄에서 testcomplete을 실행하는 배치 파일을 사용하고, 윈도우 스케줄러에 추가하는 것입니다.

0

젠킨스를 사용해 볼 수 있습니다. 그것의 가장 기본에서 당신은 예정된 시간에 명령 줄에서 Test Complete 또는 Test Execute를 호출하는 하나의 빌드 단계 (배치 또는 bash 스크립트)로 프로젝트를 작성할 수 있습니다. 그런 다음 필요에 따라 추가 빌드 단계를 추가 할 수 있습니다. 예를 들어 테스트가 실행될 때 소스 컨트롤에서 최신 버전의 테스트 완료 스크립트를 가져옵니다. Jenkins는 빌드 항목 보관 (테스트 완료 일 경우 테스트 로그), 전자 메일 알림 및 소스 제어 리포지토리 모니터링과 같은 유용한 기능을 제공합니다. 대형 플러그인 라이브러리는 프로젝트에 추가 할 수있는 대부분의 다른 기능을 제공합니다.

1

아직도 찾고있는 사람들을 위해 : SmartBear는 Jenkins 용 TestComplete 플러그인을 출시했습니다. 그래서, 지금의 일을 해킹 할 필요없이 사용할 수 있습니다

이 플러그인에 대한

정보 :. https://plugins.jenkins.io/TestComplete

보도 자료 : 이론적으로 질문에 대답 수도 있습니다 하다니 https://smartbear.com/news/news-releases/smartbear-simplifies-continuous-delivery/

+0

는, [이 될 것이다 preferred] (// meta.stackoverflow.com/q/8259) 여기에 답변의 핵심 부분을 포함하고 참조 용 링크를 제공하십시오. – Draken

관련 문제