Skip to content

TechCat-Hello/python-selenium-portfolio

Repository files navigation

Python Selenium : 自作HTML検索テストとCI/CD

このリポジトリでは、Python と Selenium を活用したテスト自動化の手法を実装例としてまとめています。
特に以下のスキルを示しています:

  • Page Object Model によるテストの保守性向上(Issue #3)
  • 外部データ駆動テスト(CSV/Excel/JSON)で複数ケースを効率的にテスト(Issue #5)
  • テスト結果の HTML レポート化と GitHub Actions による自動実行・アーティファクト保存(Issue #7)

※当初 Google 検索での自動化を試みましたが、reCAPTCHA による制約があり、最終的には 自作HTMLで検索テスト を行っています。


使用技術

  • Python 3.13
  • Selenium
  • pytest
  • pytest-html
  • GitHub Actions(CI/CD)
  • Page Object Model(テスト設計パターン)

環境構築

  1. リポジトリをクローン
git clone https://github.com/TechCat-Hello/python-selenium-portfolio.git
cd python-selenium-portfolio
  1. 仮想環境を作成・有効化
python -m venv .venv
.venv\Scripts\activate   # Windows
source .venv/bin/activate   # Linux/Mac
  1. 依存関係をインストール
pip install -r requirements.txt

テストの実行方法

ローカル環境で自作HTML検索テストを実行:

pytest --html=reports/report.html --self-contained-html
  • レポートは reports/report.html に出力されます。
  • ブラウザでレポートを確認可能です。

GitHub Actions CI

  • ブランチに push すると自動でテストが実行されます。
  • HTMLレポートはアーティファクトとして保存されます。
  • Ubuntu 上でヘッドレスブラウザにより Selenium が実行されます。

実施済み Issue / PR

Issue #3: POMによる検索テストリファクタリング

テストの保守性向上、Page Object Modelの使用

Issue #5: 外部データ駆動テスト

CSV/Excel/JSONで複数ケースのテストを実施

Issue #7: テスト結果HTML化 & GitHub Actions自動実行

CI/CD、HTMLレポートの生成と保存を確認

スクリーンショット

1. GitHub Actions 成功画面

GitHub Actions 成功

2. HTMLレポートのブラウザ表示 (GitHub Actions Ubuntu 環境で自動作成)

HTMLレポート概要

3. HTMLレポート概要(ローカル)

HTMLレポート概要

4. 自作HTML検索テスト(ローカル)

自作HTML検索テスト

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Python + Selenium 自動テストのポートフォリオ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published