getting started with watir
Watir는‘Web Application Testing In Ruby’의 약어입니다. 코드 예제를 사용하여 Watir를 설치하고 사용하여 테스트 케이스를 만들고 실행하는 방법을 알아보십시오.
Watir는 Water로 발음됩니다. Ruby 라이브러리의 오픈 소스 모음입니다. Ruby에서는 웹 애플리케이션 테스트이기 때문에 Ruby를 스크립팅 언어로 사용합니다.
학습 내용 :
Watir의 설치
Watir를 사용하려면 HTML, 프로그래밍 및 Ruby에 대한 기본 지식이 있어야합니다. 그러나 Ruby 자체는 사용하고 이해하기 쉽기 때문에이를 배우고 Watir를 사용하는 것은 그리 어렵지 않습니다.
Windows 용 Watir 설치
컴퓨터에 Ruby가 설치되어 있지 않을 가능성이 큽니다. 이를 확인하려면 명령 프롬프트를 열고 다음을 입력하십시오. > ruby –v를 입력하고‘Enter’키를 누릅니다. .
그림 1 : Ruby가 설치되어 있지 않으면 다음 메시지가 표시됩니다.
Ruby가 설치되어있는 경우이 명령으로 해당 버전을 가져옵니다. 클릭 할 수 있습니다. 여기 최신 버전의 Ruby를 다운로드합니다. 적절한 버전을 선택하면 웹 사이트에서 Ruby를 추천합니다. 2.4.X x64 또는 x86 설치 프로그램으로.
그림 2 :이 버전을 클릭하면 다음 창이 나타납니다.
그림 3 : 다운로드 시작 버튼을 클릭하면 다음 창이 나타납니다.
스크린 샷을 찍기 위해 다운로드 프로세스가 일시 중지되어 있으므로 '스타트' 버튼을 클릭하지 않으면 '중지' 여기에 버튼을 클릭하세요. 이제 파일이 다운로드 된 위치 / 폴더로 이동합니다 (그림 2에서 볼 수 있듯이 위치는 다음과 같습니다. C : Users Ojas Downloads Programs ).
그림 4 : rubyinstaller-2.4.3-2-x64.exe 파일을 실행합니다.
최고의 무료 디스크 클리너 윈도우 10
그림 5 : 'I accept the License'를 선택하고 'Next'를 클릭합니다.
그림 6 : 설치를 클릭 한 다음 마침을 클릭합니다.
위 화면에서 '어떤 구성 요소를 설치할까요?'라는 메시지가 표시됩니다. 확실하지 않은 경우 Enter 키를 누르기 만하면 시스템이 세 구성 요소를 모두 설치합니다. MSYS2 기본 설치, MSYS2 시스템 업데이트 및 MSYS2 및 MINGW 개발 도구 모음 .
MSYS2 도구는 C 기반 루비 gem을 컴파일하는 데 필요합니다. MSYS2는 수동으로 설치할 수도 있습니다.
그림 7 : 수동으로 설치된 MSYS2
모든 구성 요소를 설치하는 데 몇 분 정도 걸립니다. 명령 프롬프트를 닫고 다시 엽니 다. 그런 다음> ruby –v를 입력하고 Enter 키를 누르십시오. 다음과 같은 메시지가 나오면 Ruby가 성공적으로 설치된 것입니다.
루비 2.4.3p205 (2017-12-14 개정 61247) [x64-mingw32]
Ruby로 작성된 소프트웨어를 Ruby Gems라고합니다. Ruby를 설치했지만 이러한 Ruby Gems의 최신 버전이 없을 가능성이 있습니다. 따라서 먼저> gem –v 명령을 사용하여이 gem 버전을 확인해야합니다. 여기서 버전 2.6.14를 얻었습니다.
다음 명령을 사용하여 업데이트합니다.
> gem 업데이트 – 시스템
완료되면 메시지를 받게됩니다. RubyGems 시스템 소프트웨어 업데이트 .
이제 다음을 사용하여 Selenium 웹 드라이버 gem을 설치해야합니다. 명령 [> gem install the selenium-web driver –no-ri –no-rdoc].
설치되고 다음 메시지가 표시됩니다.
가져 오기 : selenium-web driver-3.11.0.gem (100 %)
셀레늄 웹 드라이버 3.11.0을 성공적으로 설치했습니다.
보석 1 개 설치
** Windows 방화벽 메시지가 나타나면 해당 창을 닫으십시오.
이제 IEDriverServer가 필요합니다. 딸깍 하는 소리 여기 IEDriverServer 다운로드 방법
첫 번째 링크를 클릭 한 다음 컴퓨터에 적합한 버전을 선택합니다. 즉, Win32 또는 X64.Zip 파일이 다운로드됩니다. 이러한 파일을 추출 할 위치를 확인하려면 다음 단계를 따르십시오.
명령 프롬프트로 이동하십시오.
> PATH 입력
그림 8 : 다음 결과가 얻어집니다.
파일을 PATH에 추출합니다. 기음 : Ruby24-x64 bin . Ruby 폴더 경로에 파일 압축을 풉니 다. 이제 명령 프롬프트에 irb를 입력하고 Enter 키를 누릅니다. IRB는 Interactive Ruby를 의미합니다.
> 'selenium-webdriver'필요
당신은 => true
> browser = Selenium :: WebDriver.for : internet_explorer
IE 브라우저가 열리고 다음 메시지가 표시됩니다. 'WebDriver 서버의 초기 시작 페이지입니다.' .
IE 브라우저에서 웹 페이지 www.google.co.in을 열려면 다음 명령을 입력하십시오.
> 브라우저. 'https://www.google.co.in/'가져 오기
다음 표는 각 브라우저의 드라이버 목록과 다운로드 링크를 제공합니다. 다른 드라이버와 IEDriverServer에 대해 설명 된 동일한 절차를 따르십시오.
브라우저 이름 | 드라이버 이름 | 다운로드 링크 | |
---|---|---|---|
:맑은 | : f8 | :왼쪽 | : numpad7 |
Firefox | 게코 드라이버 | https://github.com/mozilla/geckodriver/releases | |
구글 크롬 | 크롬 드라이버 | http://chromedriver.storage.googleapis.com/index.html | |
원정 여행 | - | Safari는 Windows에서 작동하지 않습니다. |
Watir 설치 :
- 명령 프롬프트로 이동하십시오.
- 입력 명령> gem install watir
- Enter 버튼을 누르십시오.
Watir가 설치됩니다. 이제 Watir를 사용할 수 있습니다.
Watir 설치 Mac 용
단계 :
- Ruby 설치
- Ruby gem 설치
- Ruby gem 업데이트
- Selenium WebDriver 설치
- IE 드라이버 / Gecko 드라이버 / Chrome 드라이버 / safari 드라이버 설치
- Watir 설치
Mac에 Ruby를 설치할 필요가 없습니다. 따라서 우리는 이미 첫 번째 단계를 다루었습니다. 많은 시간을 절약 할 수 있습니다. 다음 명령으로 루비 버전을 확인합니다. $ 루비 -v
여기, 우리는 그것을 – 루비 2.0.0p648 (2015-12-16 개정 53162) [universal.x86_64-darwin16]
이제 루비 버전을 확인합니다. 보석 $ 보석 -v
여기있어 - 2.0.14.1. 다음 명령을 사용하여 루비 보석을 업데이트합니다. $ sudo gem 업데이트 —system. 다음 명령을 사용하여 Selenium WebDriver를 설치합니다. $ sudo gem install selenium-webdriver —no-ri —no-rdoc
Selenium webdriver를 설치하거나 ruby gem을 업데이트하는 동안 다음 오류가 발생할 수 있습니다.
오류 :YAML 안전로드를 사용할 수 없습니다. 안전 로딩을 지원하는 버전 (> = 2.0)으로 정신을 업그레이드하십시오.
이 오류를 해결하려면 Ruby를 업데이트해야합니다. Ruby를 업데이트하려면 먼저 Ruby 버전 관리자가 필요합니다.이 명령을 사용하여 가져올 수 있습니다. [$ 컬 -L https://get.rvm.io | bash -s 안정] . 최신 버전의 Ruby 유형을 설치하려면 [$ rvm 루비 설치-[버전]] . rvm이 완전히 설치되면 터미널을 다시 시작하십시오.
이제 사용하려는 최신 버전을 설정해야합니다. 따라서 [$ rvm use ruby-2.4.1]을 입력합니다. 이 버전을 기본 버전으로 설정하려면 다음 명령을 사용하십시오. [$ rvm -default use 2.4.1]. 이제 다시 루비 보석을 업데이트합니다. selenium-webdriver를 설치해보십시오. 오류가 다시 발생하면 명령 줄 개발자 도구가 필요할 수 있으므로 [$ git —version]을 사용하여 설치합니다. 이미 설치했듯이 여기에 설치하지 않았습니다.
크롬 드라이버를 설치하려면 homebrew [$ ruby -e“$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”].
Chrome 드라이버를 설치하겠습니다. [$ brew install chromedriver].
터미널에서 다음 코드를 시도하십시오.
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
이 코드를 사용하면 브라우저가 지정된 웹 페이지로 열릴 것입니다. 이제 Watir를 설치합니다. [$ gem install water].
설치 과정이 끝났습니다. 이제 테스트 스크립트 작성을 시작할 수 있습니다.
Watir 사용 방법 : 테스트 케이스 생성 및 실행
메모장에서 테스트 케이스 또는 스크립트를 작성할 수 있습니다. .rb 확장자로이 파일을 저장하십시오.
예: test.rb 파일 하나를 만들었다 고 가정 해 보겠습니다. 이 스크립트 / 프로그램을 실행하려면이 파일을 두 번 클릭하거나 아래 나열된 단계를 따르십시오. 이 파일을 C 드라이브에 저장했다고 가정합니다. 이 파일의 주소는 “C Ruby_Programs”.
>cd >cd Ruby_Programs >ruby test.rb
ENTER 버튼을 누르십시오. 이 파일을 편집하려면이 파일을 마우스 오른쪽 버튼으로 클릭하고 연결 프로그램 옵션을 선택합니다.
# 1) 테스트 케이스를 병렬로 실행
두 개의 테스트 케이스를 작성하고이를 test1.rb 및 test2.rb로 저장 한 경우. 이 두 테스트를 병렬로 실행하려면 다음 단계를 수행해야합니다.
그림 9 : 명령 프롬프트로 이동하여 [> gem install parallel_tests]. 다음 메시지가 표시됩니다.
그런 다음 테스트를 실행하십시오.
>parallel_test test1.rb test2.rb
# 2) 테스트 스위트 생성
몇 가지 테스트를 자주 실행하고 테스트 스위트에 추가하려면 여기에 해당하는 코드가 있습니다.
암호:
require 'minitest/autorun' require 'C:/Ruby_Programs/test3' # This is the path of your test file which you want to include. require 'C:/Ruby_Programs/test4' # This is the path of your test file which you want to include.
이 파일을 testSuite.rb로 저장하고 실행하십시오.
C : Ruby_Programs> ruby testSuite.rb
Watir 예
예 1 :
이것이 첫 번째 프로그램이므로 'Google.co.in'웹 페이지를 열고 Gmail 링크를 클릭합니다.
암호:
require 'watir' test_site = 'https://www.google.co.in/' browser = Watir::Browser.new:firefox browser.goto test_site browser.link(:href, 'https://mail.google.com/mail/?tab=wm').click puts “Test Executes” browser.close
코드 이해
# 1) require‘watir’# 프로그램을 실행하려면 Watir 라이브러리가 필요하며이 명령문이로드됩니다.
# 2) test_site =“https://www.google.co.in/”# 여기에서 변수를 선언합니다.
# 3) browser = Watir :: Browser.new : firefox # 여기서 Firefox 브라우저를 엽니 다.
Watir :: Browser.new : internet_explorer # Internet Explorer의 경우
Watir :: Browser.new : safari # For Safari
# 4) browser.goto test_site # 또는 browser.goto“https://www.google.co.in/”# goto 명령은 지정된 웹 사이트로 이동하는 데 사용됩니다.
# 5) browser.link (: href,“https://mail.google.com/mail/?tab=wm”).click # 여기서 Gmail 링크를 클릭합니다. 하이퍼 링크는 코드에서 링크라고하며 'href'속성을 사용하여이 하이퍼 링크를 찾습니다.
# 6) puts 'Test Executed'#이 줄은 명령 프롬프트에 'Test Executed'문자열을 씁니다.
# 7) browser.close #이 줄은 브라우저를 닫습니다.
브라우저 이름을 언급하지 않으면 코드 [Watir :: Browser.new]에이 줄만 작성합니다. Watir는 Chrome이 Watir의 기본 브라우저이므로 Chrome 브라우저를 엽니 다.
예 2 :
이 예에서는 www.google.co.in 웹 페이지를 엽니 다. 그런 다음 'Manual Testing'텍스트를 검색합니다. 다음으로 홈페이지로 돌아가서“Gmail”링크를 클릭합니다.
암호:
require 'watir' browser=Watir::Browser.new:firefox browser.goto 'https://www.google.co.in' if browser.title.include? 'Google' browser.text_field(:class, 'gsfi').set 'Manual Testing' browser.button(:name, 'btnK').click if browser.text.include? 'Manual Testing is a process of finding out the defects' puts 'Title of webpage '+ browser.title browser.img(:src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click browser.link(:class, 'gb_P').click else puts 'Wrong result found' end else puts 'Either you are on wrong page or page not found' end puts 'Now title of webpage '+ browser.title browser.close puts 'Test Executed Successfully'
코드 이해 :
# 1) browser.goto https://www.google.co.in – 여기에서 지정된 웹 사이트로 이동합니다.
# 2) browser.title.include? “Google”– 여기서는 웹 페이지 제목이 예상대로인지 여부를 확인합니다. 이 'If'의 다른 부분에는 '잘못된 페이지에 있거나 페이지를 찾을 수 없습니다'라는 문구를 넣습니다. 이 명령문은 명령 프롬프트에 표시됩니다.
# 3) browser.text_field (: class,“gsfi”). set“Manual Testing”– 여기에서 검색 텍스트 상자에“Manual Testing”이라는 텍스트를 입력합니다.
# 4) browser.button (: name, 'btnK'). click – 여기에서 'Google 검색'버튼을 클릭합니다.
# 5) browser.text.include? '수동 테스트는 결함을 찾는 프로세스입니다.'– 이제 웹 페이지의 텍스트를 확인하여 올바른 검색 결과를 얻었는지 확인합니다. 이‘If’문의‘Else’부분에는“잘못된 결과를 찾았습니다.”라는 문을 넣습니다.
# 6)“Title of webpage“+ browser.title – 명령 프롬프트에 웹 페이지 제목을 표시합니다.
# 7) browser.img (: src,“/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png”).click – 여기 이미지를 클릭하여 홈페이지로 돌아갑니다.
# 8) browser.link (: class,“gb_P”). click – 여기 Gmail 링크를 클릭합니다.
# 9) '이제 웹 페이지 제목'+ browser.title – 이제 명령 프롬프트에 웹 페이지 제목을 입력합니다. Gmail 페이지의 제목이어야합니다.
# 10) browser.close – 여기에서 브라우저를 닫습니다.
# 11) 'Test Executed Successfully'를 입력합니다. 모든 단계가 올바르게 실행되었는지 확인하기 위해이 명령문을 명령 프롬프트에 넣습니다.
예 3 :
이 예에서는 최대 Watir 명령을 사용하여 사용 방법을 이해할 것입니다. 코드와 함께 설명도 볼 수 있습니다.
주석이있는 코드 :
require 'watir' browser=Watir::Browser.new:chrome browser.goto “http://watir.com/examples/forms_with_input_elements.html” #Here we will see how to insert data in text field. t1=browser.text_field id: 'new_user_first_name' t1.set 'Testing' t2=browser.text_field id: 'new_user_last_name' t2.set “testdata' #Here we will see how to select data from select list. sl=browser.select_list id: 'new_user_languages' sl.select 'English' sl.selected_options #Here we will see how to select radio button. rd=browser.radio value: 'no' rd.set chk=browser.checkbox value: 'cars' chk.set #Here we will see how to click button. btn=browser.button name: 'new_user_button_2' btn.click #This is an Explicit wait statement. This statement will make the program wait #until the particular event happens. Watir::Wait.until {browser.text.include? 'submit'} # Here I used this if statement because this is a test webpage and nothing is #happening after clicking the button. So just to show that button is clicked I used If #statement. if browser.text.include? 'submit' puts 'Data Submitted' else puts 'Data not yet submitted' end # This is an implicit wait statement. It will make your program to wait for 30 seconds compulsory. browser.driver.manage.timeouts.implicit_wait = 30 # You can send special keys to browser. There is a big list of these keys. browser.send_keys :page_up #Here we are taking the screenshot and saving it in a png file. browser.screenshot.save ‘screenshot1.png' browser.send_keys :page_down browser.screenshot.save ‘screenshot2.png' puts 'TestCase Executed' browser.close
대기 및 특수 키
Watir에서 지원하는 두 가지 유형의 대기 명령문이 있습니다. 첫 번째는 명시 적 대기이고 두 번째는 암시 적 대기입니다. 위의 코드, 즉 예제 3에서 두 가지 구문을 모두 살펴 보았습니다.
Watir에서 지원하는 특수 키 : 먼저 이러한 특수 키를 사용하는 구문을 살펴 보겠습니다.
- browser.send_keys : page_up # 우리는 이것을 코드에서 사용했습니다.
- browser.element.send_keys [: control,‘c '], : cancel
- browser.element.click (: enter, : space)
다음은 Watir에서 지원하는 특수 키 목록입니다.
:시작하다 | : f1 | :제어 | : numpad0 |
:시프트 | : f2 | :모두 | :숫자 키 1 |
:없는 | : f3 | :중지 | : numpad2 |
:취소 | : f4 | :탈출 | : numpad3 |
:도움 | : f5 | :우주 | : numpad4 |
:역행 키이 | : f6 | :종료 | : numpad5 |
:탭 | : f7 | :집 | : numpad6 |
:반환 | : f9 | :쪽으로 | : numpad8 |
: left_shift | : f10 | :권리 | : numpad9 |
: left_control | : f11 | :하위 | :곱하다 |
:페이지 위로 | : f12 | :끼워 넣다 | :더하다 |
: page_down | : 메타 | :지우다 | :덜다 |
: arrow_left | :명령 | : 같음 | : 나누기 |
Watir를 사용한 회귀 테스트
회귀 테스트에서는 변경 사항이 변경되지 않은 부분에 영향을 미쳤는지 확인합니다.
이를 위해 이전 테스트 케이스를 다시 실행해야합니다. 회귀 테스트는 수동으로 수행하는 경우 시간이 많이 걸립니다. Watir는 테스트 케이스 작성, 유지 / 업데이트 및 실행이 쉽기 때문에 최고의 회귀 테스트 도구 중 하나입니다.
결론
결론적으로 Watir는 도구를 배우기 쉽다고 말할 수 있습니다. 오픈 소스 도구이므로 비용 효율적이고 사용하기 쉽습니다. Selenium WebDriver보다 많은 장점이 없지만 다른 많은 도구와 비교할 때 더 나은 도구입니다.
프로그래밍을 지원하므로 다른 녹음 및 재생 도구보다 훨씬 좋습니다. 실제로 최고의 회귀 테스트 도구 중 하나입니다.
Watir 도구를 사용해 보셨습니까?
추천 도서
- 30 개 이상의 최고의 셀레늄 튜토리얼 : 실제 예제로 셀레늄 배우기
- ChromeDriver Selenium 자습서 : Chrome에서 Selenium Webdriver 테스트
- 180 개 이상의 웹 애플리케이션 테스트 예제 테스트 케이스 (샘플 체크리스트)
- 2021 년 상위 30 개 이상의 웹 애플리케이션 테스트 도구 (종합 목록)
- 웹 응용 프로그램 테스트 완료 가이드 (웹 사이트 테스트 방법)
- 2021 년 가장 인기있는 10 가지 회귀 테스트 도구
- 회귀 테스트 란 무엇입니까? 정의, 도구, 방법 및 예
- 최고의 소프트웨어 테스트 도구 2021 [QA 테스트 자동화 도구]