(Korean) Gui test withkatalonstudio

Description
1. 테스트 툴 & 자동화 교육 3.2 Katalon Studio 실습 2.  Katalon Studio - https://www.katalon.com/ - KMS Technology(테스트가 발달한 인도계…

Please download to get full document.

View again

of 33
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information
Category:

Software

Publish on:

Views: 3 | Pages: 33

Extension: PDF | Download: 0

Share
Transcript
  • 1. 테스트 툴 & 자동화 교육 3.2 Katalon Studio 실습
  • 2.  Katalon Studio - https://www.katalon.com/ - KMS Technology(테스트가 발달한 인도계 회사에서 만든 듯?) - 무료(맞춤형 고객 지원 요청 가능) - 웹, 모바일, (REST) API 테스팅 가능 - 테스트 자동 실행 뿐만 아니라 테스트 케이스, 리포트 기능 등 지원 (build-in) - 커맨드 라인 실행을 통한 CI 연계 가능 - 스크립트 작성 기능(Groovy, Java), 커스텀 키워드 지원 - Data-driven, Keyword-driven 테스트 자동화 패턴이 녹아져 있음 - 설치가 쉬움 - (웹) Record&Play 기능 제공 - (웹) 멀티 브라우저 실행 제공 3.2.1 Katalon-Studio란
  • 3.  Katalon Studio 설치 - 원클릭 설치(압축파일 압축해제, 이클립스에 덧씌운 형태의 IDE 및 관렦 라이브러리 설치) - 다운로드 URL : https://www.katalon.com/#download 3.2.2 Katalon Studio 설치 1) Download 메뉴 선택 2) 회원가입, 로그인 필요 3) OS별 다운로드 4) 임의의 위치에 압축해제, katalon.exe실행 5) 최초 실행 시 로그인 정보 입력 필요
  • 4. ※ 사용 Tutorials - 유튜브 가이드 및 문서 튜토리얼 제공 : https://docs.katalon.com/display/KD/Tutorials - 목차(캡처) 3.2.3 Katalon Studio 작성
  • 5.  Katalon Studio 구성 3.2.3 Katalon Studio 작성 2)Test Explorer 1)상단 Top 메뉴 영역 3)상세 테스트 정보 영역 4)실행 정보 영역 5)기타 1)상단 Top 메뉴 영역 : 프로젝트 열기/저장, 글씨체 등 옵션, Groovy/Java 설정 등 ※ Spy Web/Mobile : 떠있는 웹/모바일 오브젝트에 대한 속성정보 확인, ※ Record Web/Mobile : 떠있는 웹/모바일 상에서 테스트 기록해서 테스트 생성하기 ※ Run/Debug/Stop : 테스트 (한단계씩) 실행하기 2)Test Explorer : 테스트 케이스 / 테스트묶음 관리, 데이터, 리포트 등 관리
  • 6.  젂체 실습 순서 (1) 테스트 케이스 “NaverMovieSearch” 레코딩 및 실행 (a) www.naver.com 열기 (b) 영화 카테고리 검색 클릭 (c) 검색어 “명량” 입력 후 검색 (d) 영화 상세 정보로 이동, 검색 결과에 키워드 있는지 검증 (e) 다시 첫 페이지로 돌아오기 (2) 테스트 폴더 구성, Suite “TS_NaverMovieSearch” 생성 및 TC 할당 (3) 테스트 케이스 이름 변경, 검증 포인트 설정 (4) 빌드 명령어 생성 3.2.3 Katalon Studio 작성
  • 7. (1) 테스트 케이스 “NaverMovieSearch” 레코딩 및 실행 1) 상단 File > New 메뉴에서 새 프로젝트를 생성한다 3.2.3 Katalon Studio 작성
  • 8. 2) 왼쪽 Tests Explorer에서 TestCases를 선택하고 New > Test Case를 선택해 테스트 케이스 아이템을 생성한다 생성된 테스트 케이스를 더블클릭해서 오픈한다 3.2.3 Katalon Studio 작성
  • 9. 3) 상단 Record Web 클릭 > 팝업 창의 우상단 Record 버튺과 녹화를 수행할 브라우저를 선택한다 3.2.3 Katalon Studio 작성
  • 10. 4) 녹화를 짂행할 동작을 수행하면 각 단계가 RECORDED ACTIONS에 기록된다 3.2.3 Katalon Studio 작성
  • 11. ※ Tip. 엘리먼트(오브젝트)의 인식 방법 웹 엘리멘트에 대해 tag, class, xpath 등 다양한 방식으로 인식 설정할 수 있습니다 3.2.3 Katalon Studio 작성 <- 콘트롤하고 싶은 웹 엘리멘트 ↓실제 html 소스 Katalon Studio 엘리먼트 인식 방식 설정 창 → (따로 선택할 필요는 없지만 향후 인식이 잘 안 되거나, 유사한 다른 엘리먼트가 인식, 엘리먼트 변경 등의 경우 선택을 바꿀 수 있다)
  • 12. ※ Tip. Spy 기능을 이용해 Recording 중이 아니더라도 특정 오브젝트의 식별 값을 가져올 수 있다 3.2.3 Katalon Studio 작성
  • 13. ( 검증 포인트 추가 ) 5) 검증을 수행할 부분의 기존 스텝을 선택하고 Insert>Insert after>Web UI Keyword를 선택 6) Verify 검증을 추가한다 (예) 특정 엘리먼트가 표시되어야 한다 -> Verify Element Present, 존재해야 하는 엘리먼트 입력 or 선택 3.2.3 Katalon Studio 작성
  • 14. ※ 주요 검증(Verify) 메소드 3.2.3 Katalon Studio 작성 검증 함수 명 인자 설명 verifyAlertPresent/Not N/A Alert 창이 표시되는지 검증 verifyElementClickable/Not TestObject to 해당 오브젝트가 클릭이 가능한지 검증 verifyElementHasAttribute/Not TestObject to, String attributeName 해당 오브젝트에 해당 속성이 존재하는지 검증 verifyElementChecked/Not TestObject to 해당 오브젝트가 „check‟되어 있는지 검증 verifyElementPresent/Not TestObject to 해당 오브젝트가 존재하는지 검증 verifyElementText TestObject to, String expectedText 해당 오브젝트의 text값이 기대한 text와 동일한지 검증 verifyMatch String actualText, String expectedText, Boolean isRegex 특정 텍스트가 regular exp 구문에 매칭되는지 검증 verifyElementVisible/Not TestObject to 해당 오브젝트가 visible 한지 검증 verifyElementAttributeValue TestObject to, String attributeName, String attributeValue 해당 오브젝트의 특정 attribute 값이 기대한 값과 동일한지 검증 ※Tip. Wait 명령어 GUI 테스트 수행 상 테스트 스텝과 스텝과의 로딩 과정이 발생하므로 필요한 경우 verifyXXX 메소드와 비슷한 형태의 waitXXX 명령들이 존재함. 이를 적젃히 사용하여야 안정적인 테스트 자동 수행 가능
  • 15. ( 네이버 영화검색 기본 흐름 작성1 ) ① 네이버 메인 페이지에서 „영화‟ 메뉴 선택 ② 영화서비스 홈 이동 검증 – 좌상단 „Naver 영화‟ 표시되는지 검증 ③ 검색어 필드에 검색어 „avengers infinitywar‟를 입력하고 „검색‟ 버튺을 클릭한다 ④ 검색 결과에 어벤저스 영화포스터, 영화명 텍스트가 존재하는지 검증한다 ⑤ 좌상단 Naver 클릭하여 메인페이지로 돌아간다 ( 네이버 영화검색 기본 흐름 작성2 ) 별도의 테스트 케이스에서 ①~⑤의 흐름을 따라가되, 존재하지 않는 영화 검색어를 입력하고 “~ 검색 결과가 없습니다.”가 표시 되는지 검증하는 테스트를 작성한다 3.2.3 Katalon Studio 작성
  • 16. 7) 작성된 테스트에 대해 Run > 브라우저 선택하여 테스트를 수행합니다 3.2.3 Katalon Studio 작성
  • 17. (2) 테스트 묶음(TestSuite) “TS_NaverMovieSearch” 구성 ※ TestSuite : 테스트 케이스들을 묶는 논리적인 단위, 하나의 TestSuite 하위에 여러 TestCase구성 예) 회원가입 TestSuite – 기본회원가입 TestCase,외국인회원가입 TestCase, 미성년자회원가입 TestCase 1) 좌측 Test Explorer에서 Test Suites 아이템을 선택하고 New>Test Suite을 선택하고 TestSuite이름을 입력합니다 ※ 테스트 케이스 관리에 있어 구조화가 필요한 경우 하위에 „Folder‟를 생성하여 관리합니다 3.2.3 Katalon Studio 작성
  • 18. 2) 생성된 TestSuite을 더블클릭하면 상세 정보가 표시됩니다. Add 아이콘을 선택하여 TestSuite에 해당하는 TestCase를 선택합니다 3.2.3 Katalon Studio 작성
  • 19. 3) TestSuite 하위에 다양한 TestCase를 추가하기 위해, 기존 TestCase의 이름을 “~01”로 변경합니다 4) 기존 TestCase를 복사하여 “~02”를 추가합니다 3.2.3 Katalon Studio 작성 TC_NaverMovieSearchTest_01 TC_NaverMovieSearchTest_02
  • 20. 5) 새로 추가한 TestCase는 검색 결과가 없는 검색어 “예)NotExist#(!)$<#!@>” 를 입력하고 “검색결과가 존재하지 않습니 다”를 검증하는 테스트를 작성한다 3.2.3 Katalon Studio 작성 TC_NaverMovieSearchTest_01 TC_NaverMovieSearchTest_02
  • 21. ※ Tip. 테스트가 실패(verifyXXX)했을 때의 처리 고려 특정 단계에서 테스트가 실패(verifyXXX)한 경우 남은 단계를 계속 수행할지, 테스트를 바로 실패로 처리하고 멈출지를 정할 수 있다 (예1) Stop On Failure - 네이버 메인 페이지 확인에서 테스트가 실패했을 때 – 아예 추가 테스트를 수행하는 의미가 없 으므로 바로 테스트 실패 (예2) Continue On Failure – 네이버 영화검색 페이지의 테스트 수행 결과가 맞지 않은 경우, 다시 네이버 메인 페이지로 돌아가는 나머지 단계 수행을 위해 Continue On Failure 설정 3.2.3 Katalon Studio 작성 Stop On Failure : 이후 단계를 실행하지 않고 테스트 실패 Continue On Failure : 이후 단계를 마저 수행하고 테스트 실패
  • 22. 3.2.3 Katalon Studio 작성 ※ Tip. (예) 오브젝트들의 리팩토링 각 레코딩 과정에서 기록된 오브젝트들은 가독성 및 변경이 용이하도록 이름 및 중복된 오브젝트들을 정리한다 해당 오브젝트 상위의 페이지(폴더) 구성, 중복된 오브젝트 제거, 이름 변경, 불필요한 오브젝트 제거 1) 향후 특정 오브젝트가 변경되었을 때 직관적으로 확인/변경이 가능하도록 페이지 레벨로 폴더 구성 2) 직관적으로 이해가 되는 오브젝트 이름으로 변경 3) 중복되는 오브젝트 삭제 4) 특정 상황에 의존성이 있는 인식 방식은 체크 해제
  • 23. 3.2.3 Katalon Studio 작성 ※ 정리된 TestCase의 예 TC_NaverMovieSearch_01 : 결과가 있는 검색어 테스트 TC_NaverMovieSearch_02 : 결과가 없는 검색어 테스트
  • 24. 6) 새로 추가한 TestCase를 TestSuite 뷰에서 Add>체크 해서 추가한다 3.2.3 Katalon Studio 작성
  • 25. (3) 테스트 실행&리포트 확인 1) Test Suite을 선택하고 Run>수행할 브라우저를 선택하여 테스트를 실행합니다 3.2.3 Katalon Studio 작성
  • 26. 2) TestExplorer의 Reports 하위에 생성된 테스트 리포트를 더블클릭하여 오픈한다 테스트 리포트는 툴 상으로도 제공되고, 별도 파일로도 저장된다 3.2.3 Katalon Studio 작성 2) 테스트케이스별 테스트 결과 1) 젂체 테스트 결과 요약, 수행홖경 정보 3) 현재 선택한 테스트케이스내 단계별 상세 결과
  • 27. 3) 별도로 생성된 테스트 리포트 결과를 확인한다 3.2.3 Katalon Studio 작성 테스트가 실패했을 때의 스크릮 캡처 Jenkins 리포트 연동이 가능한 junit 형태 리포트 생성 html 형태 리포트 csv형태 리포트
  • 28. ※ 고급Tip. 여러 TestSuite을 동시에 실행시키기 위한 TestSuiteCollection 1) TestSuites > New > Test Suite Collection을 생성하면 미리 생성해 두었던 여러 TestSuite을 묶어서 실행이 가능하다 3.2.3 Katalon Studio 작성
  • 29. ※ 고급Tip. 테스트 케이스에서의 변수 처리 (할당/사용) 3.2.3 Katalon Studio 작성 할당1) Local Variable 정의 TestCase에 종속적인 변수(Local variables)의 경우 상세보기>Variables탭에 정의한다 사용) TestCase 상세보기에서 값을 참조하려는 스텝을 더블 클릭 후 Value Type을 Variable 또는 Global Variable을 선택한다 ※ 다음장 - 별도로 정의한 TestData를 사용하는 경우 Test Data Value를 선택할 수 있다 https://docs.katalon.com/display/KD/Variable+Types 할당2) Global Variable 정의 우측 Global Variable 탭 선택 후 변수를 정의한다 <-여러 TestCase에서 공통으로 사용되는 변수의 경우 GlobalVariable로 정의해서 참조한다
  • 30. ※ 고급Tip. 테스트 데이터의 동적 바인딩 (data-driven testing) 1) TestExplorer의 Data Files에서 데이터 정의 (엑셀, csv, 내부 테이블, 데이터베이스) 2) TestCase TestSuite 상세보기에서 Show Data Binding 선택 후 연결할 데이터 선택, Variable Binding을 통해 data- driven testing(하나의 테스트에서 데이터 row 만큼 데이터가 변경되면서 반복 테스트 수행)한다 3.2.3 Katalon Studio 작성 [ 테스트 데이터 (대량)정의 ] [ 테스트묶음 뷰에서 케이스>값에 연결 ]
  • 31. ※ 기타 – GUI 테스트 자동화에서 발생하는 일반적인 이슈와 Katalon의 해법 상세 내용은 다음 url 참조 : https://medium.com/@katalon_studio/how-to-solve-the-common-web-ui-test-automation-problems-using-the- katalon-studio-free-toolset-c36794f52554 #1) Wait-time issues and solution approach (동작과 동작 사이의 대기 시갂 이슈) (해법1) WebUI.waitForPageLoad(GlobalVariable.G_Timeout_Small) (해법2) WebUI.waitForElementPresent(findTestObject('Page_KatalonLogin/div_LoginMessage'), GlobalVariable.G_Timeout_Small) #2) Iframe issues and solution approach (쪼개져 있는 GUI 구분 중 하나인 Iframe 이슈) (해법 예) WebUI.switchToFrame(findTestObject('Page_jQuery_Drag and Drop Example/ifr_Demo Frame'), GlobalVariable.G_Timeout_Small) #3) Pop-up issues and solution approach (팝업창이 인식 또는 포커스 이동이 안 되는 이슈) (해법 예) WebUI.switchToWindowTitle('Share a link on Twitter') #4) Issues in identifying deeply nested elements (특정 엘리먼트가 너무 복잡한 계층의 하위에 있는 경우의 이슈) (해법) Katalon Studio는 해당 엘리먼트의 xpath 구조 상 가장 가까우면서 유일한 엘리먼트를 기준으로 한 상대경로를 제공해 줌 3.2.3 Katalon Studio 작성
  • 32. (4) 테스트 자동 실행 ※ 기본적으로 Katalon Studio는 Jenkins 등의 CI툴에서 커맨드라인 명령어로 테스트 수행을 지원한다 (사젂조건 : 해당 CI가 구축된 PC에 Katalon 설치 및 명령어 path 지정, Katalon 프로젝트를 CI 구축된 PC에 내려받는다(참조. Katalon Studio가 git 연동)) 1) 테스트를 수행할 대상(TestSuite, TestSuite Collection)을 선택한 상태에서 상단 Build CMD 클릭 후 실행 옵션 설정 2) 생성된 커맨드를 Jenkins 설정에서 실행 스크립트로 설정하고 테스트를 자동으로 수행한다 ※ Jenkins 빌드 설정, 수행 후 리포트 연결 등은 기존 유사 테스트 자동화와 동일하다 3.2.4 Katalon Studio와 CI툴(Jenkins) 연동 예) katalon -runMode=console -consoleLog -noExit - projectPath="C:Users09543Katalon StudioSampleProjectSampleProject.prj" -retry=1 - retryFailedTestCases=false -testSuitePath="Test Suites/TS_NaverMovieSearch" -browserType="Chrome (headless)"
  • 33. ※ 발췌. https://docs.katalon.com/pages/viewpage.action?pageId=786527 3.2.4 Katalon Studio와 CI툴(Jenkins) 연동 1) Jenkins 싞규 Job 생성 2) 실행을 shell로 선택하고 앞에서 생성한 커맨드 명령어 입력 3) 빌드 후 동작에 Junit 형태의 리포트 생성 선택 테스트 후 생성된 Junit_Report.xml 위치 입력 4) Jenkins상에서 테스트 리포트 확인~~ 테스트 자동 실행 및 리포트 생성
  • Related Search
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks