環境
以下サービスのアカウント作成は済んでいるものとします。
- GitHub
- CircleCI
テスト対象のリポジトリを作成
Github上でソースコードを管理するリポジトリを作成します。
今回は全て無料で実施するため、公開状態のリポジトリを作成します。
非公開リポジトリの作成にはお金がかかります。また、非公開リポジトリに対するCircleCIの実行にもお金がかかります。
今回はPythonのSeleniumテスト用にhttps://github.com/sssinsi/selenium-ci-python を作りました。
リポジトリをローカルにクローン
以下のコマンドを実行します。
git clone git@github.com:sssinsi/selenium-ci-python.git
CircleCIの設定
CircleCIにログイン後、ダッシュボードからプロジェクト追加に移動して、テストしたいアカウントをクリックして、対象のリポジトリの[Build project]をクリックします。
※まだリポジトリにcircle.yml
ファイルが存在しないのでエラーになるはず
CircleCIの設定ファイルを作成
リポジトリをクローンしてきたら、プロジェクトトップ(今回はselenium-ci-python
ディレクトリ直下)にcircle.yml
というCircleCI専用の設定ファイルを作成します。
今回はSelenium
を実行するためにpip
でインストールを実施し、テストでは作成したテストファイルを実行しています。
machine:
timezone: Asia/Tokyo
dependencies:
pre:
- sudo pip install --upgrade pip
- sudo pip install selenium
test:
pre:
- echo "-----start test-----"
override:
- python scripts/webdriver_sample.py
post:
- echo "-----end test-----"
Seleniumのテストファイルを作成
今回はGoogleの検索ページを表示して、フォームとタイトルを検証するテストを作成しました。
サンプル
CircleCIでテストを実行
適当なブランチでgit push
した後、CircleCIが自動的に実行されます。
テストの実行状況はCircleCI以外にも、GitHub上のPull Requestの下方でも確認できます。
CircleCIのバッジを表示する
CircleCIのテスト結果をGitHubのリポジトリを表示することで、コードが正常に動作するかが素早く確認できます。
基本的にはReadme.mdファイルへ、テスト結果のステータスバッジを記述することでこれは可能になります。
- ステータスバッジの設定方法 CircleCI
CircleCIのテスト対象リポジトリから、[Project Settings]-[API Premissions]と移動してstatus用のtokenを新規作成してください。
作成したtokenを使って、以下のようなイメージ表示をReadme.mdへ追記してください。
![](https://circleci.com/gh/sssinsi/selenium-ci-python.svg?style=shield&circle-token=ここにトークンを設定)