seleniumシロ入門


seleniumシロ入門


seleniumの概要


seleniumは自動化テストツールであり、selenium作成スクリプトによってwebが相応の操作を実行することを制御し、web機能をテストする役割を果たすことができる.Seleniumテストは、本物のユーザーが操作しているようにブラウザで直接実行できます.サポートされているブラウザには、IE(7、8、9、10、11)、Mozilla Firefox、Safari、Google Chrome、Operaなどがあります.

selenium webdriverの実現原理


selenium2.0からwebdriverに加入しました.webdriverの実習原理はブラウザ駆動(web driver)によってブラウザを直接制御することである.selenium 1.0ではなく、selenium rc serverによってjs注入ブラウザを実現し、ブラウザを制御する動作を達成します.簡単に言えばwebdriverの実現原理はclient-serverのモードである.Clientはテストスクリプトコードであり、serverは私たちが制御するブラウザです.Clientは、中間ブリッジweb driverを介してhttpリクエストをserverに送信する.ワークフロー:1)WebDriverを作成する過程で、Seleniumはまずブラウザのnative componentが使用可能でバージョンが一致しているかどうかを確認し、次にターゲットブラウザでWebサービスセットを起動し、WebサービスはSeleniumが自分で設計定義したプロトコルを使用し、名前はThe WebDriver Wire Protocolと呼ばれている.WebDriver Wireプロトコルは共通です.つまり、FirefoxDriverでもChromeDriverでも、起動後、あるポートでこのプロトコルに基づくWebサービスが起動します.2)WebDriverを呼び出す任意のAPIは、CommandExecutorを介してコマンドを送信する必要があるが、実際にはHTTP requestがリスニングポート上のWeb Serviceに一般的に理解されているクライアントスクリプト(java,python,ruby)はブラウザと直接通信できないため、WebServiceを翻訳器として使用することができ、クライアントコードをブラウザが認識できるコード(例えばjs)に翻訳することができる.クライアント(つまりテストスクリプト)は、httpリクエストでrestfulのリクエストをWebServiceに送信するセッションを作成します.WebServiceは、ブラウザがスクリプトを理解してブラウザに送信し、ブラウザが実行した結果をWebServiceに返し、WebServiceが返した結果をいくつかカプセル化(一般的にjson形式)してclientに返し、戻り値に基づいてブラウザの操作が成功したかどうかを判断します.

selenium要素の位置付け

  find_element_by_id
  find_element_by_name
  find_element_by_class
  find_element_by_tag
  find_element_by_link
  find_element_by_xpath