SeleniumとPython(pytest)を使ってブラウザのテストを自動化したいと思います。
今回はまず最初に、必要なもののインストールと、あとはブラウザを起動して閉じるまでを自動化してみようと思います。
事前準備
- Google Chromeのインストール
- python3のインストール
今回私はMacOSで行いました。
手順
1. ファイルの準備と、各種インストール
まず、適当なフォルダにファイルtest_sample.py
を作成します。
自分で好きな名前をつけてもいいですが、必ずファイル名がtest_
から始まるようにしておきましょう。(でないと、IDEの設定やら何やらで面倒が発生することがあります。)
次に、pytestのインストールを行います。
$ pip install pytest
続いてseleniumも入れましょう。
$ pip install selenium
次に、chromedriverをダウンロードして、
- 環境変数PATHの通っているところに置く
- 任意の場所に置いて、パスを指定する
のいずれかの方法をとります。
2. コーディング
続いて、Chromeを起動してGoogleを開き、ブラウザを閉じるというコードを書きます。
test_sample.py
import pytest
from selenium import webdriver
class TestGoogle:
def test_run_chrome(self):
self.driver = webdriver.Chrome('./chromedriver')
self.driver.get("https://google.com")
self.driver.quit()
ここで、先程chromedriverをダウンロードしたときに、PATHの通っているところに置いた方は
self.driver = webdriver.Chrome()
のようにカッコの中身が空でOKです。
任意の場所に置いた方は、フルパスで指定するか、test_sample.py
からの相対位置を指定しましょう。
3. pytestを実行
ターミナルからtest_sapmle.py
を実行します。ファイルのあるディレクトリに移動して、以下コマンドを実行しましょう。
$ pytest test_sample.py
うまくいけば、Chromeが立ち上がってGoogleのトップページを開き、すぐに閉じる、という動きをします。
以下、実行後のターミナルの例です。
rrcs-172-254-99-26:selenium-and-pytest yoshikiito$ pytest test_sample.py
================================================= test session starts ==================================================
platform darwin -- Python 3.6.6, pytest-4.0.1, py-1.7.0, pluggy-0.8.0
rootdir: /Users/yoshikiito/Documents/GitHub/selenium-and-pytest, inifile:
plugins: remotedata-0.3.1, openfiles-0.3.1
collected 1 item
test_sample.py . [100%]
=============================================== 1 passed in 5.64 seconds ===============================================
本記事に書いたものと同じものをYoshikiIto/selenium-and-pytestに置いておきました。
次の記事以降の分も追加していきます。