SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Robot Framework
목차
Robot Framework 이란?
설치방법
Robot Framework
Sample demo
Robotframework 이란?
범용 테스트 자동화 프레임워크
Keyword‐Driven 방식의 테스팅을 사용
End‐to‐End 인수 테스트
ATDD﴾Acceptance Test Driven Development﴿도구로서 사
용가능
Python으로 구현됨
Jython﴾JVM﴿, IronPython﴾.Net﴿에서도 실행가능
Python, java 언어로 기능을 확장할 수 있음
오픈소스
GitHub에 소스 존재
Apache License
Robotframework 이란?
특징
웹 테스트를 위한 Selenium 지원
보고서와 로그를 HTML 포맷으로 지원
키워드 재정의 가능
설치
node.js ﴾node‐v8.9.4‐x64.msi﴿
python 2.7 version 이상 사용
java 1.7 version 이상 사용
환경변수 설정
webdriver 위치, 파이썬 과 java 설치 위치
pip 설치
pip install robotframework
pip install robotframework‐selenium2library
실행
robot filename.robot
Variables
Scalar Variables
List Variables
Dictionary Variables
Environment Variables
Scalar Variables
$로 시작
** Variables ***
* ${SERVER}         localhost:7272
* ${BROWSER}        chrome
* ${LOGIN URL}      http://${SERVER}/
* ${WELCOME URL}    http://${SERVER}/welcome.html
List Variables
@로 시작
** Variables ***
@{MEMBER} eric  liam  james  logan
*** Test Cases ***
Test Province Ordered By Population
  Should Be Equal @{MEMBER}[0]   eric
  Should Be Equal @{MEMBER}[‐1]   logan
Dictionary Variables
&로 시작
﴾key,value﴿ 쌍을 가지는 자료구조
*** Variables ***
&{MEMBER} eric=21 liam=22 james=23 logan=24
*** Test Cases ***
Test Province
  Should Be Equal &{MEMBER}[eric] 21
  Should Be Equal ${MEMBER.eric} 21
Environment Variables
%로 시작
*** Test Cases ***
Env Variables
  Log Current user: %{USER}
For-Loop
for 루프안은 들여쓰기로 구분
들여쓰기할때 역슬래쉬﴾﴿ 사용
들여쓰기가 끝나는 지점이 for루프가 끝남
*** Variables ***
@{VALUES}  cat   dog
*** Test Cases ***
test for loop
  :FOR    ${var}    IN    @{VALUES}
          Log To Console    ${var}  
libraries
Standard libraries
비설치
BuiltIn, Collections, DateTime, Dialogs...
Exteranl libraries
설치
Selenium2Library, SwingLibrary, DatabaseLibrary...
BuiltIn
often needed keywords.
*** Test Cases ***
Test Should Be
  Should Be Empty item
  Should Be Equal first  second
  Should Be True  condition
Collections
for handling lists and dictionaries.
*** Variables ***
${L1}  ['a']
${L2}  ['a', 'b']
*** Test Cases ***
Test Collections
  Append To List  ${L1}   xxx
  Combine Lists    ${L1}  ${L2}
DateTime
for handling date and time values.
*** Keywords ***
Manipulate current time
    ${CurrentDate}=  Get Current Date  result_format=%Y‐%m‐%d %H:%M:%
    ${datetime} =  Convert Date  ${CurrentDate}  datetime
    Log To Console  ${datetime.year} 
    Log To Console   ${datetime.month}
    Log To Console   ${datetime.day} 
Dialogs
for interacting with users.
*** Test Cases ***
Test Dialogs
  Pause Execution   clicks Ok
Selenium2Library
web testing library
*** Test Cases ***
Test web application
  Open Browser    ${LOGIN URL}    ${BROWSER}
  Maximize Browser Window
  Input Text    username_field    ${username}
  Click Button    login_button
  Execute Javascript  *code
기본구조
*** Settings ***
Library           Selenium2Library
*** Variables ***
${SERVER}         localhost:7272
${BROWSER}        chrome
*** Test Cases ***
Valid Login
    Open Browser To Login Page
  ...
    Welcome Page Should Be Open
 
*** Keywords ***
Open Browser To Login Page
    Open Browser    ${LOGIN URL}    ${BROWSER}
    Maximize Browser Window
    Login Page Should Be Open
Login Page Should Be Open
    Title Should Be    Login Page
demo
참고자료
http://robotframework.org
http://robotframework.org/Selenium2Library/Selenium2Library.
html
https://twiki.cern.ch/twiki/bin/view/EMI/RobotFrameworkAdva
ncedGuide
http://robotframework.org/robotframework/latest/RobotFrame
workUserGuide.html#environment‐variables
감사합니다

Mais conteúdo relacionado

Mais procurados

Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발
지수 윤
 
111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2
NAVER D2
 
빌드교육자료 작성중
빌드교육자료 작성중빌드교육자료 작성중
빌드교육자료 작성중
Sukjin Yun
 

Mais procurados (20)

Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발
 
swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑
 
111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2111 n grinder-deview_day1_track1_session_1_ver_2
111 n grinder-deview_day1_track1_session_1_ver_2
 
Eclipse RAP
Eclipse RAPEclipse RAP
Eclipse RAP
 
Advanced nGrinder
Advanced nGrinderAdvanced nGrinder
Advanced nGrinder
 
실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기
 
Learning Laravel
Learning LaravelLearning Laravel
Learning Laravel
 
자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅
 
How to use Python in Video streaming service - PyCon Korea 2020
How to use Python in Video streaming service - PyCon Korea 2020How to use Python in Video streaming service - PyCon Korea 2020
How to use Python in Video streaming service - PyCon Korea 2020
 
[2017 Incognito] Code Clone 기법을 통한 모바일 브라우저 취약점 분석
[2017 Incognito] Code Clone 기법을 통한 모바일 브라우저 취약점 분석[2017 Incognito] Code Clone 기법을 통한 모바일 브라우저 취약점 분석
[2017 Incognito] Code Clone 기법을 통한 모바일 브라우저 취약점 분석
 
빌드교육자료 작성중
빌드교육자료 작성중빌드교육자료 작성중
빌드교육자료 작성중
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포
 
모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
xecon-phpfest2014composer
xecon-phpfest2014composerxecon-phpfest2014composer
xecon-phpfest2014composer
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
 
SOSCON2015 Robot Framework
SOSCON2015 Robot FrameworkSOSCON2015 Robot Framework
SOSCON2015 Robot Framework
 
Backend Master | 3.1.2 Build - Java build tool - Maven
Backend Master | 3.1.2 Build - Java build tool - MavenBackend Master | 3.1.2 Build - Java build tool - Maven
Backend Master | 3.1.2 Build - Java build tool - Maven
 
[120316] node.js 프로그래밍 5장
[120316] node.js 프로그래밍 5장[120316] node.js 프로그래밍 5장
[120316] node.js 프로그래밍 5장
 
XECon2015 :: [1-2] 이현석 - Learning Laravel
XECon2015 :: [1-2] 이현석 - Learning LaravelXECon2015 :: [1-2] 이현석 - Learning Laravel
XECon2015 :: [1-2] 이현석 - Learning Laravel
 
PyCon2020 NLP beginner's BERT challenge
PyCon2020 NLP beginner's BERT challengePyCon2020 NLP beginner's BERT challenge
PyCon2020 NLP beginner's BERT challenge
 

Semelhante a 2018 03-05-robot framework

도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
Jae Sung Park
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
Opennaru, inc.
 

Semelhante a 2018 03-05-robot framework (20)

[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례
 
java_1장.pptx
java_1장.pptxjava_1장.pptx
java_1장.pptx
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
 
java_1장
java_1장java_1장
java_1장
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
 
java_1장.pptx
java_1장.pptxjava_1장.pptx
java_1장.pptx
 
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
Red Hat Forum 2012 - JBoss RHQ - Java Application Monitoring & Management Pla...
 
Internship backend
Internship backendInternship backend
Internship backend
 
Node.js 20버전에 변경된 점들.pdf
Node.js 20버전에 변경된 점들.pdfNode.js 20버전에 변경된 점들.pdf
Node.js 20버전에 변경된 점들.pdf
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 
Node.js의 도입과 활용
Node.js의 도입과 활용Node.js의 도입과 활용
Node.js의 도입과 활용
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startup
 
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
 

2018 03-05-robot framework