문제

방금 허드슨을 설치했는데 아름답게 달리고 있습니다. 주니트 테스트를 구축하고 실행하며 체크 스타일 분석을 수행합니다.

다음 단계는 설치를 만들고 설치 한 다음 실제 설치에서 자동 테스트를 실행하는 것입니다. 그런 다음 테스트가 실패하거나 적어도 어떻게 든 결과를 게시하면 빌드에 실패하고 싶습니다. 부품이 주기적으로 또는 수동으로 트리거되도록 설정할 것이라고 생각합니다.

우리는 설치에 설치 어디에서나 사용하고 자동 테스트를 위해 IBM 합리적 기능 테스터를 사용합니다.

그렇다면 질문은 다음과 같습니다. 누군가 비슷한 설정을 만든 사람이 있습니까? 저를 도울 수있는 플러그인, 튜토리얼 또는 기타 리소스가 있습니까? 아니면 일반적으로 팁이나 조언이 있습니까?

도움이 되었습니까?

해결책

우리는 Hudson에 상당히 복잡한 분산 빌드를 운영했습니다. 기본적으로 다음 과정입니다.

  1. Windows에서 테스트하십시오.
  2. OSX에서 테스트하고 코드 커버리지를 실행하며 결과를 서버로 푸시하십시오.
  3. OSX Tiger에서 테스트하십시오.
  4. OSX Leopard 및 푸시 빌드 용 패키지를 서버로 푸시합니다.
  5. Windows 용 패키지 및 서버로 빌드를 푸시합니다.
  6. 제품 웹 사이트 업데이트.

우리는 설치 어디에서나 합리적인 기능 테스터를 사용하지 않지만 그 자리에 비슷한 종류의 메커니즘이 있습니다. 우리가 허드슨에서 노래하게 만드는 열쇠는 명령 줄에서 다양한 단계를 실행할 수 있다는 것이 었습니다. Maven과 적절한 플러그인은이 작업의 짧은 작업을 만들었습니다. 따라서 제 조언은 사용중인 빌드 도구 (Ant, Maven,?)를 사용하여 합리적인 기능 테스터를 실행하고 건축 도구에 전달 된 간단한 목표로 명령 줄부터 설치할 수 있도록 구성 할 수 있습니다. IE MVN 테스트 또는 MVN 어셈블리 : 어셈블리).

그 후, Hudson이 실행중인 모든 기계에 모든 것이 설치되어 있고 (예 : 합리적 기능 테스터)가 있는지 확인하여 명령 줄을 열고 목표를 입력하고 테스트를 올바르게 실행할 수 있도록하십시오.

그 시점부터 허드슨에서 연결하는 것은 상당히 간단합니다. 빌드를 구성 할 때 목표를 달성하십시오.

다른 팁

합리적인 기능 테스터에 대한 명령 줄 참조 :

http://publib.boulder.ibm.com/infocenter/rfthelp/v8r0m0/index.jsp?topic=/com.ibm.rational.ft.ft.doc/topics/robotjcommandline.html

테스트 실행을위한 샘플 명령 :

java -classpath "C:\IBM\RFT\FunctionalTester\bin\rational_ft.jar" 
com.rational.test.ft.rational_ft -datastore \\My_project\AUser\RobotJProjects -user admin -project
\\My_project\AUser\TestManagerProjects\Test.rsp -build "Build 1" -logfolder "Default" -log  
"Al_SimpleClassicsA#1" -rt.log_format "TestManager" -rt.bring_up_logviewer true -playback 
basetests.SimpleClassicsA_01

추가 메모에 따르면 테스트를 실행할 에이전트 머신에서 Windows를 올바르게 구성하려고합니다. 이것은 Hudson 또는 RFT와 관련된 조언이 아니라 Windows의 모든 GUI 자동화 도구입니다. RFT에는 버튼 등을 클릭 할 수있는 대화식 데스크톱 환경이 필요합니다. Hudson 에이전트가 Windows 서비스로 실행되면 데스크탑이 없습니다. 다음을 참조하십시오. RDP 연결이 열리지 않으면 Silverlight 테스트가 작동하지 않습니다

나는 이것에 대해 아직 직접 구현하지 않았기 때문에 이것에 대한 일반적인 조언이 있습니다. Hudson이 빌드 또는 Hudson 프로세스를 통해 RFT 스크립트를 자동으로 실행하고 싶다고 가정합니다. 조직에서도 비슷한 것을 구현하고 싶습니다.

나는 조직의 제약 때문에 아직 이것을 구현할 수 없었지만 지금까지 내가 생각한 것/지금까지 한 일은 다음과 같습니다.

  1. 다운로드 된 Windows Process Viewer는 테스트를 실행하라는 명령을 받았습니다.
  2. 쉘 스크립트를 만들고 변수 등을 분리했습니다.
  3. 향후 계획은 예를 들어 테스트가 시작되면 필요한 모든 도구를 갖춘 Windows 슬레이브 머신을 설정하는 것입니다. 올바른 버전의 브라우저 및 환경 변수 및 기타 도구가 필요합니다.
  4. Hudson은 모든 RFT 스크립트를 실행하고 슬레이브 머신에서 필요한 작업을 수행하는 쉘 스크립트를 실행하는 프로세스를 시작합니다.

가장 좋은 대답은 RFT를 Hudson/Jenkins와 통합하는 것이 쓸모없는 노력이라는 것입니다.

이로 IBM FAQ RFT를 만들려면 다음을 수행해야합니다.

  • 기계에 로그인해야합니다.
  • 화면을 잠글 수 없습니다.
  • 원격으로 연결된 경우 연결 화면을 최소화 할 수 없습니다.

따라서 Jenkins/Hudson을 서비스로 실행할 수 없으므로 그다지 유용하지 않습니다. 로그인 한 계정에서 실행해야합니다. 회사 컴퓨터에있는 경우 (RFT를 사용하는 경우 매우 가능성) 화면 보호기가 시작되지 않도록 해킹. 화면이 잠겨 있으면 테스트가 항상 실패합니다.

테스트를 구성하는 것은 그리 어렵지 않습니다 명령 줄에서 실행됩니다, 테스트가 실패하고 성공할 때 리턴 코드를 관리해야합니다.

Jenkins/Hudson은 테스트를 버전 제어와 통합하는 등 몇 가지 장점을 제공 할 것입니다. 또한 테스트가 실패하면 이메일을 보내는 데 도움이됩니다.

그러나 여전히 RFT 로그를 일종의 Junit 플러그인과 통합하여 멋진 보고서를 제공해야합니다. 또한 명령 줄을 사용하여 테스트를 실행하려면 스크립트가 있어야합니다.

RFT와 함께 연속 통합 서버를 사용하는 것이 어려운 가치가 없다고 생각합니다. Windows 작업 스케줄러에서 매일 테스트를 실행하는 것이 좋습니다. 실패 지점이 적은 단순한 솔루션입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top