9. 1-4. All test cases are in the tables
http://www.slideshare.net/tcmak/quality-comes-free-with-open-source-testing-tools
10. 1-5. High level architecture
http://www.slideshare.net/tcmak/quality-comes-free-with-open-source-testing-tools
11. 1-6. Test Data Structure
Test Suite
Test Cases Metadata
Variables Keyword
Resource
Keyword Variables
12. 1-7. Keyword
*** Keywords ***
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Maximize Browser Window
Set Selenium Speed ${DELAY}
Login Page Should Be Open
13. 1-8. Variables in Robotframwork
http://www.slideshare.net/tcmak/quality-comes-free-with-open-source-testing-tools
14. 2. 예제
*** Settings ***
Documentation 로그인이 잘 되는지 확인하는 테스트.
...
... 이 테스트에 사용된 Keyword는
... resource.txt에 명시되어 있어요.
Resource resource.txt
*** Test Cases ***
로그인
웹브라우저를 열어 로그인 페이지로 이동
사용자이름 입력 demo
암호 입력 mode
확인버튼 클릭
로그인 후 페이지가 정상적으로 열려야 함
[Teardown] 웹브라우저를 닫는다
15. 2-1. Example
*** Settings ***
Documentation A test suite with a single test for valid login.
...
... This test has a workflow that is created using keywords in
... the imported resource file.
Resource resource.txt
*** Test Cases ***
Valid Login
Open Browser To Login Page
Input Username demo
Input Password mode
Submit Credentials
Welcome Page Should Be Open
[Teardown] Close Browser
16. 2-2. Resource.txt
*** Settings ***
Library Selenium2Library
*** Variables ***
${SERVER} localhost:7272
${BROWSER} Firefox
${DELAY} 0
${LOGIN URL} http://${SERVER}/
*** Keywords ***
Open Browser To Login Page
Open Browser ${LOGIN URL} ${BROWSER}
Maximize Browser Window
Set Selenium Speed ${DELAY}
Login Page Should Be Open
…
21. 3-3.Before using Robot Framework
Terminal Script 사용
- Terminal Client에서 제공하는 Macro 방식
- 간단한 반복 작업을 빠른 시간 안에 작성 가능
- Client별 Script문법이 달라 학습 시간이 필요
- Terminal 이외의 기능을 수행하기 어려움
- 다양한 환경에서 재사용성이 떨어짐
- 복잡한 기능을 작성하기엔 무리가 있음
- 수행 후 log수집과 report작성이 어려움
22. 3-4. Before using Robot Framework
oo사의 Automation Tool 사용
- 상용 버전의 자동화 도구
- 다양한 기능을 제공하지만 그만큼 고성능을 요구함.
- 라이선스 제약이 있어 많은 사람들이 사용하기엔 부적합.
- 처음 사용하는 사람은 도구 사용법을 먼저 익혀야 함.
- 고유의 문법을 가지고 있어서 Syntax를 학습해야 Script 해독/작성이 가능.
- 확장성이 떨어져 원하는 기능을 추가로 구현하기 힘든 상황.