Gauge + Selenium + Python の環境構築
概要
タイトル通り、Gauge + Selenium + Pythonの環境構築を行ったので備忘録です。
ここでは、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