Selenium WebDriver 입문
3282 단어 selenium-webdriver
소개
Selenium의 일부 지식 정리에서 jenkins로 실행시키는 곳까지 기재합니다.
루비를 사용하고 싶습니다.
Selenium이란?
웹 브라우저를 사용하여 웹 애플리케이션을 테스트하는 도구.
사람의 손을 사용해 테스트하고 있던 부분을 Selenium이 브라우저 조작해 준다.
Selenium WebDriver란?
Selenium RC와 WebDriver를 통합한 것.
Selenium RC란?
HTML 형식으로 기술된 스크립트 1 에 Java, Ruby 등 프로그래밍 언어를 추가하여 고급 스크립트 생성을 가능하게 했다.
Selenium RC에서는 로컬 PC상에서 중계 서버(Selenium Server)를 기동해, 이 중계 서버상에서 ruby등의 스크립트가 동작해 JavaScript의 코드를 Web 페이지에 임베드하고 있었다.
이것에 의해 Web 서버상에 스크립트를 두지 않아도 끝나게 되었다. 1
하지만 JavaScript로 조작할 때 브라우저의 보안 제한에 의해 많은 동작에 제약을 받고 있었다.
WebDriver란?
WebDriver에서는, 테스트 실행시에 브라우저 조작을 브라우저 확장 기능이나, OS의 네이티브 기능을 사용해 실시하도록(듯이) 했다. 그 때문에 중계 서버가 불필요하게 되어 보안의 제약을 받는 문제도 해결했다.
이 두 가지를 통합한 것이 Selenium WebDriver입니다.
Selenium2라고도 불리는 것 같습니다.
실천
Selenium WebDriver는 각 브라우저마다 드라이버를 제공하는 것 같습니다.
드라이버 준비
이번에는 Chrome을 사용합니다.
Chrome의 경우 Chrome 드라이버를 설치해야 하므로 여기에서 다운로드합니다.
※자신은 homebrew를 사용하고 있으므로
brew install chromedriver
로 인스톨 했습니다.이것만이라면 Selenium이 정의하고 있는 RESTful API(JSON Wire Protocol)에 따라 HTTP 요청을 발행하고, 반환된 응답을 해석하고 용도에 맞게 또 HTTP 요청을 발행...
공식에서 클라이언트 라이브러리 2이 나와있는 것 같고, 그것을 사용하면 좋은 것 같습니다. 아래가 제공되는 언어인 것 같습니다.
클라이언트 라이브러리 준비
루비로 하기 때문에 그 환경을 준비합니다. (Node.js로 할까 ...
gem install selenium-webdriver
코드 작성
절차
vi test.rb
치는 require "selenium-webdriver"
# Chrome用のドライバを指定
driver = Selenium::WebDriver.for :chrome
# Googleの画像検索にアクセス
driver.navigate.to "https://www.google.co.jp/imghp"
# name属性にqが設定されている要素を取得
inputElement = driver.find_element(:name, 'q')
# 取得した要素にパンケーキを設定
inputElement.send_keys "パンケーキ"
# name属性にbtnGが設定されている要素を取得
submitElement = driver.find_element(:name, 'btnG')
# 取得した要素をクリック
submitElement.click
# スクリーンショットを撮る
driver.save_screenshot('tabetai.png')
# テストを終了
driver.quit
3.
ruby test.rb
치다다음 이미지가 실행 프로그램의 현재 디렉토리에 있다고 생각합니다.
환경의 작성, 실행이 복잡하지 않기 때문에 좋네요,,
jenkins로 실행시키는 곳까지 쓰고 싶었습니다만, 다음의 갱신으로 씁니다 m(_ _)m
Selenium Core를 살펴보십시오. Selenium의 원형입니다 ↩
각 클라이언트 라이브러리에는 대응하지 않는 드라이버가 있을 가능성도 있어, 그 경우는 Selenium Server를 사용하는 것 같습니다. 이것은 Java로 작성된 것 같습니다. ↩
Reference
이 문제에 관하여(Selenium WebDriver 입문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yulily@github/items/c3edbe25e84280c17776텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)