🛠️

Gauge + Selenium + Python の環境構築

2022/12/11に公開

概要

タイトル通り、Gauge + Selenium + Pythonの環境構築を行ったので備忘録です。
https://gauge.org/
ゴールはChromeでGoogleを開いて、キーワード検索まで行います。
ここでは、PythonとVSCodeのインストールを前提で話を進めます。

環境

  • Mac
  • Python 3.8

インストール手順

Gaugeのインストール

https://docs.gauge.org/getting_started/installing-gauge.html?os=macos&language=python&ide=vscode#installing-gauge:embed

上記のGaugeのGet startedのInstalling GaugeでMacOSとVS CodeにGaugeのプラグインをインストールします。

Pythonの環境構築

https://docs.gauge.org/examples.html?os=macos&language=python&ide=vscode#examples
GaugeをPythonで動かす例としてSeleniumが挙げられているので、以降はSeleniumのインストールを進目ます。

Seleniumのインストール

https://www.selenium.dev/ja/documentation/webdriver/getting_started/install_library/:embed
上記の手順に則ってpip install seleniumseleniumパッケージをインストール。

chromedriver-binaryのインストール

seleniumのインストールが完了した後、ChromeでブラウザテストするためにPythonのパッケージchromedriver-binaryをインストール。
chromedriver-binaryのバージョンはインストールされているChromeのバージョンに対応しているので、
[設定] → [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を開いて下記のコードを追記します。

パッケージ

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

step_impl.py
options = ChromeOptions()
options.add_argument("--incognito")
driver = webdriver.Chrome(options=options)

関数

step_impl.py
@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.spec
# Google検索
Google で特定のワードの検索を行い結果を確認する
 
## 検索成功
Tags: successful

*グーグルのサイトを開く
*検索欄に"test"を入力
*Enterキーを入力

後はRun Specで実行して結果を確認します。

テストの結果

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

Discussion