Gauge + Selenium + Python の環境構築

概要

Gaugeの環境構築を行ったので備忘録。

gauge.org

目標はGoogleを開いてキーワード検索までやってみる。

環境

インストール手順

Gaugeのインストール

docs.gauge.org

上記のGaugeのGet startedのInstalling GaugeでMacOSVS CodeにGaugeのプラグインをインストールする。

Python のパッケージとしてのGauge

上記の手順には記載されていないがGaugeのインストールした環境にあるrequirements.txt

pip install -r requirements.txt 

でパッケージをインストール。
ただし、requirements.txtの中身にはgetgaugeのみなので、

pip install getgauge

でもいい。

Seleniumのインストール

www.selenium.dev

上記の手順に則ってpip install seleniumseleniumパッケージをインストール。

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

動作確認

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で実行して結果を確認する。