SeleniumとPython(pytest)を使ってブラウザのテストを自動化したいと思います。

今回はまず最初に、必要なもののインストールと、あとはブラウザを起動して閉じるまでを自動化してみようと思います。

事前準備

  • Google Chromeのインストール
  • python3のインストール

今回私はMacOSで行いました。

手順

1. ファイルの準備と、各種インストール

まず、適当なフォルダにファイルtest_sample.pyを作成します。

自分で好きな名前をつけてもいいですが、必ずファイル名がtest_から始まるようにしておきましょう。(でないと、IDEの設定やら何やらで面倒が発生することがあります。)

次に、pytestのインストールを行います。

$ pip install pytest

続いてseleniumも入れましょう。

$ pip install selenium

次に、chromedriverをダウンロードして、

  1. 環境変数PATHの通っているところに置く
  2. 任意の場所に置いて、パスを指定する

のいずれかの方法をとります。

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に置いておきました。

次の記事以降の分も追加していきます。