Gauge + Selenium + Python の環境構築
概要
タイトル通り、Gauge + Selenium + Pythonの環境構築を行ったので備忘録です。
ゴールはChromeでGoogleを開いて、キーワード検索まで行います。
ここでは、PythonとVSCodeのインストールを前提で話を進めます。
環境
- Mac
- Python 3.8
インストール手順
Gaugeのインストール
上記のGaugeのGet startedのInstalling GaugeでMacOSとVS CodeにGaugeのプラグインをインストールします。
Pythonの環境構築
GaugeをPythonで動かす例としてSeleniumが挙げられているので、以降はSeleniumのインストールを進目ます。
Seleniumのインストール
上記の手順に則ってpip install seleniumでseleniumパッケージをインストール。
chromedriver-binaryのインストール
seleniumのインストールが完了した後、ChromeでブラウザテストするためにPythonのパッケージchromedriver-binaryをインストール。
chromedriver-binaryのバージョンはインストールされているChromeのバージョンに対応しているので、
[設定] → [Chromeについて]
でバージョンを確認。

上図の場合、バージョンは 107.0.5304.110 なのでメジャーバージョンが107.xx.xx.xx のchromedriver-binaryをインストール。
pip install chromedriver-binary==107.0.5304.62.0
Python のパッケージとしてのGaugeのインストール
公式の手順には記載されていないがGaugeのインストールした環境にあるrequirements.txt を
pip install -r requirements.txt
でパッケージをインストール。
ただし、requirements.txt の中身にはgetgaugeのみなので、
pip install getgauge
でもいいです。
動作確認
step_impl
step_implフォルダの直下のstep_impl.pyを開いて下記のコードを追記します。
パッケージ
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from selenium.webdriver import ChromeOptions
ChromeOptions
options = ChromeOptions()
options.add_argument("--incognito")
driver = webdriver.Chrome(options=options)
関数
@step("グーグルのサイトを開く")
def open_google() -> None:
driver.get('https://google.co.jp/')
@step("検索欄に<word>を入力")
def words_input(key_word: str) -> None:
driver.find_element(By.NAME, "q").send_keys(key_word)
@step("Enterキーを入力")
def Enter_key_input() -> None:
driver.find_element(By.NAME, "q").send_keys(Keys.ENTER)
specファイル
specsフォルダの直下にgoogle.specのファイルを作成して下記の内容で保存します。
# Google検索
Google で特定のワードの検索を行い結果を確認する
## 検索成功
Tags: successful
*グーグルのサイトを開く
*検索欄に"test"を入力
*Enterキーを入力
後はRun Specで実行して結果を確認します。

テストの結果
テストの結果はreports/html-report/index.htmlに出力されるので、index.htmlを開くと確認できます。
Discussion