SeleniumというWebサイトのUIテストを自動化できるツールがあり、Pythonなどのコードで動作を制御できる。UbuntuのPython3でこのツールを使ってみたので、そのときの手順。
Python3系用のpipでSeleniumをインストールする。
Seleniumでブラウザを操作するには、ブラウザごとにドライバが必要になる(Firefox用のドライバはSeleniumに付属している)。今回はChromeを使うので、GoogleのサイトからChromeDriverをダウンロードする。Chromeのバージョンによりドライバが違うので、Chromeのバージョンを確認してからダウンロードする。ここでは/home/user/python/に保存。
ダウンロードしたChromeDriverに実行権限を付与する。
以下は、Googleで「Python Selenium」というワードを検索するコード。selenium_test.pyというファイルで保存。
Pythonのコードを実行すると、自動でChromeが起動し、検索ボックスにワードが入力され、検索結果が表示される。
1.Seleniumのインストール
Python3系用のpipでSeleniumをインストールする。
2.Chrome driverのダウンロード
Seleniumでブラウザを操作するには、ブラウザごとにドライバが必要になる(Firefox用のドライバはSeleniumに付属している)。今回はChromeを使うので、GoogleのサイトからChromeDriverをダウンロードする。Chromeのバージョンによりドライバが違うので、Chromeのバージョンを確認してからダウンロードする。ここでは/home/user/python/に保存。
3.ChromeDriverのパーミッション変更
ダウンロードしたChromeDriverに実行権限を付与する。
4.Pythonのコードを書く
以下は、Googleで「Python Selenium」というワードを検索するコード。selenium_test.pyというファイルで保存。
# ライブラリの読み込み
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
url = 'http://www.google.com'
# chromedriverのフルパスを指定
browser = webdriver.Chrome( '/home/user/python/chromedriver' )
# ブラウザで指定urlを開く
browser.get( url )
# 画面表示を最大2秒まで待つ
browser.implicitly_wait(2)
# 検索ボックスのエレメントを取得(inputタグのname属性はq)
elem = browser.find_element_by_name('q')
# 検索ボックス内のテキストをクリア
elem.clear()
# 検索ワードを入力
elem.send_keys('Python Selenium')
# リターンキーを入力
elem.send_keys( Keys.RETURN )
# 検索結果がなければ「No results found.」と表示する
assert "No results found." not in browser.page_source
5.Pythonコードの実行
Pythonのコードを実行すると、自動でChromeが起動し、検索ボックスにワードが入力され、検索結果が表示される。

0 件のコメント:
コメントを投稿