step step guide jubula open source automated functional testing tool
(이미지가 많은 자세한 자습서이므로로드 할 수 있도록 허용)
오늘 우리는 인기있는 오픈 소스 기능 테스트 도구 – Jubula.
많은 애플리케이션에 대한 자동화 된 기능 GUI 테스트를위한 Eclipse 프로젝트입니다. 사용자 관점에서 자동화 된 테스트를 작성하는 데 유용합니다. 코딩 기술 없음 , 시간을 절약하고 가독성과 테스트 유지 보수를 개선합니다.
넓은 범위의 오픈 소스 자동화 도구 많은 양의 온라인 도움말과 함께 시장에서 사용할 수 있습니다.
때에 온다 Jubula , 온라인 도움말은 내장 프레임 워크에 대한 많은 정보를 제공합니다. 이 정보는 코딩에 관여하지 않고 Jubula의 GUI를 통해 자동화 스크립트를 작성하려는 비 기술 테스터에게 유용합니다.
하지만 기술 자동화 테스터는 맞춤형 뼈대 Jubula를 사용하면 도움을 요청하기가 어렵습니다.
이 자세한 자습서는 사용자 지정 강력하고 유연한 자동화 테스트 프레임 워크를 만드는 데 도움이되도록 Jubula에서 얻은 지식을 공유하기 위해 만들어졌습니다.
먼저 살펴 보겠습니다. s 내장 프레임 워크 (튜토리얼의이 섹션은 기본 사항을 이해하는 데 도움이됩니다.) Java 코드를 사용하여 Jubula에서 프레임 워크를 구축합니다.
학습 내용 :
- 기본 – 기본 제공 프레임 워크 :
- 샘플 AUT :
- 데모 프로젝트
- 테스트 방법 :
- 주목할 점
- Java 코드를 사용하여 Jubula에서 프레임 워크 빌드 :
- 또는
- 객체 매핑 클래스 생성
- 테스트 작업 수행
- 여러 AUT 작업
- 결론
- 추천 도서
기본 – 기본 제공 프레임 워크 :
설치 및 실행 :
(노트: 이미지를 클릭하시면 크게보실 수 있습니다.)
1) 여기에서 다운로드 페이지로 이동 .
주 – 다음을 확인할 수 있습니다. 이 다운로드 페이지 관심있는 기능에 따라 다양한 옵션을 제공합니다.
두) 등록 및 로그인.
삼) 클릭 설치 프로그램을 다운로드합니다.
4) 클릭 다운로드 페이지 아래에 Jubula 다운로드 부분.
5) 적절한 설치 프로그램을 다운로드합니다 (OS에 따라).
6) 다운로드를 사용하여 설치 exe 파일을 만들고 원하는 위치에 폴더를 저장합니다 ( C : Program Files ).
7) 설치가 완료되면 '모든 프로그램'에서 도구를 실행할 수 있습니다.

8) 시작하는 동안 원하는 위치에 작업 공간을 만듭니다.

9) 홈 화면은 다음과 같습니다.

샘플 AUT :
이 도구의 한 가지 인상적인 점은 샘플 AUT (Applications Under Test)와 함께 제공된다는 것입니다. AUT는 examples AUTs에 있습니다.
이 경우에는 C : Program Files jubula_8.2.0.021 examples AUTs

데모 프로젝트
이제 Jubula가 설치되고 샘플 AUT를 사용할 수 있으므로 간단한 추가 기능 ‘SimpleAdder’라는‘스윙’애플리케이션을 사용합니다.
이 애플리케이션은 다음 파일을 사용하여 호출 할 수 있습니다.
‘C : ProgramFiles jubula_8.2.0.021 examples AUTs SimpleAdder swing SimpleAdder.cmd ’이며 다음과 같습니다.
작업은‘값 1’을 입력하고‘값 2’를 입력 한 다음‘=’버튼을 클릭하여‘결과’를 확인하는 것입니다.

테스트 방법 :
다음은 작업을 자동화하기 위해 따라야 할 단계입니다.
1 단계 - 프로젝트를 만듭니다.
2 단계 - 바이트를 만듭니다.
3 단계 – 테스트 케이스를 만들고 테스트 단계 및지도 데이터를 포함합니다.
4 단계 – 테스트 스위트를 만듭니다.
5 단계 – 테스트 스위트에 AUT를 지정하십시오.
6 단계 – 테스트 케이스를 테스트 스위트에 맵핑하십시오.
7 단계 – 기술 개체 식별자를 사용하여 논리적 테스트 개체를 매핑합니다.
8 단계 – 테스트 스위트를 실행하십시오.
각 단계를 자세히 수행하는 방법을 살펴 보겠습니다.
1 단계 – 프로젝트 생성
Jubula의 프로젝트는 테스트 작업을 완료하기 위해 필요한 모든 구성 요소가 수집되는 논리적 작업 공간으로 간주 될 수 있습니다.
프로젝트 생성은 다음과 같습니다.
1) 테스트> 새로 만들기로 이동합니다.

두) 프로젝트 이름을 입력하십시오. 'DemoProject'를 클릭하고 'Finish'를 클릭합니다 ( 'Next'를 클릭하면 AUT를 생성 할 수 있습니다.하지만 여기서 'Finish'를 사용하고 2 단계에서 AUT 생성을 살펴 보겠습니다).

삼) 테스트 스위트 브라우저는 생성 된 프로젝트를 보여줍니다.

2 단계 – AUT 생성
개체 매핑 및 테스트 스위트 실행을 위해 테스트중인 애플리케이션 (SimpleAdder)의 인스턴스를 Jubula에 생성해야합니다.
1) 테스트> 속성으로 이동합니다.

두) 'AUT'를 선택합니다.

삼) AUT 이름을 입력합니다 (사용자 정의 값이 될 수 있습니다. 예 : DemoAUTSimpleAdder).
4) AUT가 개발 된 기술을 선택하십시오. (이 경우‘스윙’입니다.)
5) AUT 구성에서 '추가'를 클릭합니다.
6) AUT ID를 입력합니다 (이는 다시 사용자 정의 값이 될 수 있습니다. 예 : DemoAUTSimpleAdderID).
7) 실행 파일 이름, 즉 AUT가 열리는 파일을 입력합니다. 앞서 언급했듯이 ‘C : ProgramFiles jubula_8.2.0.021 examples AUTs SimpleAdder swing SimpleAdder.cmd’ .

Jubula를 통해 AUT를 호출하려면 'AUT 에이전트'에 연결되어 있어야합니다. Jubula가 연결할 수있는 AUT 에이전트는 다음 두 가지입니다.
- 'localhost : 60001'에 설치된 임베디드 AUT 에이전트
- ‘localhost : 60000’에 설치된 외부 AUT 에이전트
Jubula가 AUT 에이전트 중 하나에 연결되면이를 통해 애플리케이션을 호출 할 수 있습니다. 아래 스크린 샷은 AUT 에이전트에 연결하는 방법을 보여줍니다. 여기에 포함 된 AUT 에이전트에 연결합니다.
아래 스크린 샷은 AUT 에이전트에 연결하는 방법을 보여줍니다. 여기에 포함 된 AUT 에이전트에 연결합니다.

AUT 에이전트가 Jubula와 연결되면 다음과 같이 AUT (DemoAUTSimpleAdder)를 호출 할 수 있습니다.

AUT는 아래와 같이 호출됩니다. 애플리케이션은 백그라운드에서 계속 실행될 수 있습니다. 그러나이 단계에서는 나머지 단계를 편안하게 수행 할 수 있도록 응용 프로그램을 닫는 것이 좋습니다.

3 단계 – 테스트 케이스 생성, 테스트 단계 포함 및 데이터 매핑
이것은 자동화 스크립트의 실제 개발이 발생하는 중요한 단계입니다 (코딩없이).
도구의 왼쪽 하단에 사용자 테스트 케이스를 개발할 수있는 테스트 케이스 브라우저가 있습니다.
1) 마우스 오른쪽 버튼을 클릭하고 새로 만들기로 이동하여 새 테스트 케이스를 만듭니다.

두) 테스트 케이스 이름을 입력하고 '확인'을 클릭합니다 (예 : DemoTestCase).

삼) 이제 테스트 케이스 브라우저에 Jubula의 내장 테스트 케이스와 함께 사용자가 생성 한 테스트 케이스가 있어야합니다.
4) 생성 된 테스트 케이스를 더블 클릭합니다. 빈 테스트 케이스가 중간 패널에 열립니다.

5) 'Jubula의 기본 작업'에서 적절한 테스트 작업을 테스트 케이스로 끌어다 놓습니다.
아래 스크린 샷에 표시된대로 :
- 값 1과 값 2를 입력하려면 '텍스트 입력 구성 요소 – 텍스트 바꾸기'를 사용하십시오.
- 같음 버튼을 클릭하려면 '왼쪽 단일 클릭'을 사용하십시오.
- 값을 확인하려면‘텍스트 입력 구성 요소 – 텍스트 확인’을 사용하십시오.



6) 이제 포함 된 각 테스트 단계에 대해 해당하는대로 아래를 입력하십시오 (예 : 버튼을 클릭해도 데이터가 필요하지 않음).
- 테스트 케이스 참조 이름 (테스트 단계 설명).
- 구성 요소 이름 (기술 식별자가 매핑 될 논리 이름).
- 데이터 – 데이터를 직접 값으로 입력 할 수 있습니다. 10, 20 또는 변수를 사용하여 매개 변수화 됨 (예 : = Value1, = Value2 또는 Excel 시트를 통해 공급됩니다. 이 경우 데이터를 매개 변수화하고 있습니다.)
에)

비)

씨)

디)

7) 이전 단계에서 언급했듯이 데이터 값을 매개 변수화 할 때 아래와 같이 테스트 사례를 강조 표시합니다. 변수 값을 정의 할 수있는 그리드를 볼 수 있어야합니다. 데이터 행을 삽입하려면 '추가'버튼을 사용하십시오. n 개의 실행 반복에 대해 n 개의 데이터 행을 가질 수 있습니다.
에)

비)

4 단계 – 테스트 스위트 생성
Jubula의 테스트 스위트는 사용자 정의 테스트 케이스가 실행을 위해 순서가 지정되는 프로젝트에서 실행 가능한 구성 요소입니다.
1) 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 New로 이동하여 새 테스트 스위트를 만듭니다.

두) 테스트 스위트의 이름을 입력하고 확인을 클릭하십시오 (예 : DemoTestSuite).

삼) 프로젝트 아래에서 생성 된 테스트 스위트를 볼 수 있어야합니다.

단계 # 5 – 테스트 스위트에 AUT 할당
Jubula에 정의 된 AUT가 하나 뿐인 경우 AUT는 테스트 스위트에 대해 자동으로 선택됩니다. 그러나 여러 AUT가있는 경우 테스트 스위트가 올바른 AUT에서 실행되는지 확인하는 것이 매우 중요합니다.
1) 테스트 스위트를 두 번 클릭하고 중간 패널에서 동일하게 강조 표시하십시오.
두) 드롭 다운에서 AUT를 선택합니다.

6 단계 – 테스트 케이스를 테스트 스위트에 매핑
테스트 케이스를 테스트 스위트로 끌어서 놓으십시오. 여러 테스트 케이스는 마찬가지로 테스트 스위트에서 시퀀싱 할 수 있습니다.

저장시 아래와 같이 테스트 스위트 아래에서 테스트 케이스를 볼 수 있습니다.

단계 # 7 – 기술 개체 식별자를 사용하여 논리적 테스트 개체 매핑
1) 테스트 스위트를 마우스 오른쪽 버튼으로 클릭하고 개체 매핑 편집기로 엽니 다.

두) 기술 이름이 매핑 될 테스트 스위트 내의 모든 논리적 구성 요소가 표시됩니다.

삼) AUT를 호출하십시오.


4) 특정 AUT에 대한 개체 매핑 아이콘을 클릭합니다.

5) 기술 이름을 식별해야하는 필드 위로 커서를 이동합니다. 필드가 녹색으로 강조 표시됩니다.

6) control + shift + Q를 누르면 할당되지 않은 기술 이름 섹션 아래에 해당 필드의 기술 이름이 표시됩니다. 테스트 스위트의 모든 필드에 대해 반복하십시오.

7) 이제 간단한 드래그 앤 드롭으로 할당되지 않은 구성 요소 이름을 할당되지 않은 기술 이름으로 매핑합니다.

8) 작업 공간을 저장하고 개체 매핑 모드를 종료합니다.

단계 # 8 – 테스트 스위트 실행
이제 테스트 스위트를 실행할 준비가되었습니다. AUT가 Jubula를 사용하여 호출되는지 확인하십시오.
테스트 스위트 브라우저에서 실행 버튼을 클릭합니다.
(첫 번째 단계로 응용 프로그램을 활성화 할 수도 있습니다. 그러나 응용 프로그램이없는 경우 테스트 도구 모음을 실행 한 후 활성화해야합니다.)

결과는 다음과 같이 볼 수 있습니다.

주목할 점
Excel을 통해 테스트 스위트에 데이터를 제공하는 동안 Excel 파일의 위치를 예제 형식으로 제공하십시오.
C : //Data//Data.xls

위의 데모에서 데이터는 변수‘= Value1’, =’Value2’및 =’Result’를 사용하여 매개 변수화됩니다.
이러한 경우 값을 Excel 파일을 통해 전달해야하는 경우 파일에 프로젝트 생성시 선택한 언어로 설정된 변수 및 시트 이름과 정확히 일치하는 이름을 가진 해당 열이 있는지 확인하십시오.

외부 AUT 에이전트 (localhost : 60000)는 에이전트 시작 및 중지 옵션을 찾을 수있는 '모든 프로그램'에서 에이전트를 시작한 후 연결할 수 있습니다.

테스트 작업에서 여러 테스트 스위트를 만들 수 있습니다. 이는 테스트가 둘 이상의 애플리케이션을 포함 할 때 도움이됩니다 (다른 테스트 스위트에 다른 AUT를 할당 할 수 있음).
이것은 도구를 다루는 기본 사항을 설명합니다. 복잡한 기능을 자동화하고 다양한 테스트 개체를 처리하려면 Jubula의 기본 작업에 익숙해지는 것이 매우 중요합니다.
Jubula는 스윙 애플리케이션뿐만 아니라 다양한 기술로 개발 된 애플리케이션도 자동화 할 수 있습니다.

Java 코드를 사용하여 Jubula에서 프레임 워크 빌드 :
위의 기본 지식을 바탕으로 Java 코드를 사용하여 Jubula에서 맞춤형 프레임 워크를 구축하는 방법을 살펴 보겠습니다.
일부는 Jubula 작업 공간에서 유연하고 재사용이 가능한 자동화를 찾지 못할 수 있습니다. 광범위한 자동화가 불가능할 수 있습니다. 그러나 Jubula GUI를 사용하여 수행 한 각 작업에는 해당하는 Java 메서드가 있습니다.
여기이 섹션에서는 복잡한 프레임 워크를 구축 할 수있는 Java 메서드의 기본 사항을 살펴 봅니다.
항아리
메서드에 필요한 jar는 Jubula의 설치 폴더에서 사용할 수 있습니다.
C : Program Files jubula_8.2.0.021 development api

또는
먼저 AUT 에이전트와 연결하는 방법과 AUT 구성을 사용하여 AUT 식별자를 생성하여 AUT를 호출하는 방법을 살펴 보겠습니다.
아래 변수가 필요합니다.
AUTAgent autagent = null; AUTConfiguration autconfiguration = null; AUTIdentifier autidentifier = null; AUT aut = null; AUT 에이전트와 연결 :
autagent = MakeR.createAUTAgent('localhost',60000); autagent.connect(); AUT 시작 :
autconfiguration = new SwingAUTConfiguration('Autidentifier', 'Autidentifier','runlocal.bat', 'C:\Application',null,Locale.getDefault()); autidentifier = autagent.startAUT(autconfiguration); aut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); aut.connect(); 어디 runlocal.bat 은 실행 파일이고 C : \ Application은 실행 파일이있는 위치입니다.
다른 도구 키트에 대한 구성도 만들 수 있습니다.
예 : JavaFXAUTConfiguration, RCPAUTConfiguration, HTMLAUTConfiguration.
이제 인스턴스를 사용하여 테스트 작업을 수행 할 수 있습니다. '또는' . 그러나 테스트 작업을 수행하려면 개체 식별자가 필요합니다.
객체 매핑 클래스 생성
개체 매핑 편집기를 마우스 오른쪽 버튼으로 클릭하고 ‘파일로 개체 매핑 내보내기’ ...에서 ‘API에서 사용’ 옵션을 선택하고 객체 매핑 세부 정보를 Java 클래스로 내 보냅니다.

Java 플랫폼의 구성 요소는 무엇입니까?
이 클래스를 프로젝트에 포함하십시오. 개체 매핑 편집기의 각 개체에 대한 기술적 식별이있는 OM.java로 저장했습니다.

테스트 작업 수행
테스트 작업은 다음 두 단계로 수행 할 수 있습니다.
1 단계: 테스트 작업을 수행해야하는 구성 요소를 정의합니다.
TextInputComponent input1 = SwingComponents.createJTextComponent(OM.txtValue1); TextInputComponent input2 = SwingComponents.createJTextComponent(OM.txtValue2); ButtonComponent equals = SwingComponents.createAbstractButton(OM.btnEquals); TextComponent result = SwingComponents.createJLabel(OM.txtResult); 2 단계 : 작업을 수행합니다.
aut.execute(input1.replaceText(“10”), 'jubula'); aut.execute(input2.replaceText(“15”), 'jubula'); aut.execute(equals.click(1,InteractionMode.primary), 'jubula'); aut.execute(result.checkText(“25',Operator.equals), 'jubula'); 여기서 'Jubula'는 가급적 행동에 대한 설명을 포함해야하는 더미 텍스트입니다.
'execute'문은 CAP (C – 구성 요소, A-Action, P-Parameter (Data))를 전달합니다.
조치 및 매개 변수는 Jubula 작업 공간의 테스트 케이스와 동일합니다.
여러 AUT 작업
Jubula Java 메소드를 사용하여 고유 한 프레임 워크를 개발할 때 여러 애플리케이션을 사용하고 이들 사이를 스와핑하는 것은 약간 까다 롭습니다.
여러 응용 프로그램을 처리하는 동안 작업을 수행하기 전에 AUT가 활성화되어 있는지 확인하고 완료되면 동일한 기능이 비활성화되었는지 확인하십시오.
활성화하는 동안 :
- autagent를 연결하십시오.
- 또는 연결하십시오.
비활성화하는 동안 :
- 둘 중 하나를 연결하십시오.
- autagent 연결을 끊습니다.
예 :
Activate(autidentifier1); //perform actions on aut1 Currentaut.execute(…) Currentaut.execute(…) Deactivate(autidentifier1); Activate(autidentifier2); //perform actions on aut2 Currentaut.execute(…) Currentaut.execute(…) Deactivate(autidentifier2); Activate(autidentifier1); //perform actions on aut1 Currentaut.execute(…) Currentaut.execute(…) Deactivate(autidentifier1); 활성화 및 비활성화 기능은 다음과 같아야합니다.
public static void Activate(AUTIdentifier autidentifier){ if(autagent.isConnected()) { autagent.disconnect(); autagent.connect(); } else autagent.connect(); if(Currentaut==null){ Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); Currentaut.connect(); } else{ if(Currentaut.isConnected()){ Currentaut.disconnect(); Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); Currentaut.connect(); } else{ Currentaut = autagent.getAUT(autidentifier, SwingComponents.getToolkitInformation()); Currentaut.connect(); } } } public static void DeActivate(AUTIdentifier autidentifier){ if(Currentaut.isConnected()) Currentaut.disconnect(); if(autagent.isConnected()) autagent.disconnect(); } 결론
이 기사의 끝에서 Jubula의 기존 프레임 워크를 사용하고 Jubula의 Java 메소드를 사용하여 사용자 정의 프레임 워크를 개발하는 데 대한 충분한 지식을 얻었을 것입니다.
여기서는 Java 스윙 구성 요소 자동화를 연구했습니다. 그러나 Jubula는 여러 기술에서 작동 할 수 있습니다.
동시에 여러 응용 프로그램 (동일 기술과 다른 기술)을 자동화하는 것이 가장 어려운 영역입니다. 여러 AUT 작업에 설명 된 단계가 정말 도움이 될 것입니다.
Jubula를 사용하여 사용자 정의 프레임 워크를 구축하는 동안 다른 테스트 구성 요소 (예 : 단추, 텍스트 입력, 텍스트, 트리, 테이블 등)를 정의하는 방법, 이러한 구성 요소에서 수행 할 수있는 모든 다른 작업과 무엇을 정의하는지 궁금 할 것입니다. 각 작업에 데이터가 필요합니다.
다양한 구성 요소를 정의하는 방법과 '실행'명령을 사용하여 다양한 테스트 작업을 수행하는 방법을 알아 보려면 'Jubula Reference Manual'을 참조하십시오. 여기 .
시도 해봐!
저자 정보 : 이것은 Geethalakshmi의 게스트 튜토리얼입니다. 그녀는 기능 자동화 도구를 탐구하는 데 큰 관심을 가진 선도적 인 소프트웨어 테스트 조직에서 수석 기술 엔지니어로 일하고 있습니다.
Jubula 도구에 대한 의견 / 질의를 자유롭게 게시하십시오.