Outline
テスト自動化は、手動で実行するのはもったいない。
テスト自動化も自動で定期的に実行させるのが、自動化の最大の有効活用である。
T-DASHはコマンドラインでも実行可能である
JenkinsなどのCI toolを利用して、自動実行させるとよい。
本記事では、windows環境でT-DASH + Jenkinsでテスト自動化を定期実行させるための構築に関して示したものである。
Jenkins setup
Java
まず、jenkinsを起動するにはjavaが必要である。
install後、pathを設定する
環境変数 | 設定値 |
---|---|
JAVA_HOME | C:\Program Files\Java\jdk-21 |
Path | %JAVA_HOME%\bin |
pathの確認をする
java --version
Jenkins
Jenkinsをダウンロードしてインストールする
Jenkins 起動設定
default の Jenkins はサービスで自動で立ち上がるようになっている。
この場合、ブラウザを立ち上げて操作する権限をjenkinsは持っていません。
ブラウザを実際に立ち上げてテストさせるには(バックグラウンド実行の場合は問題なし)、ログインユーザーの権限でjenkinsを立ち上げる必要がある。
このため、まずサービス (services) でjenkinsの設定を無効にする。
次に、command consoleを管理者権限で起動し、以下コマンドを実行し、手動でjenkinsを起動する
set JENKINS_HOME=C:\ProgramData\Jenkins\.jenkins
cd C:\Jenkins
java -jar jenkins.war --httpPort=9500
※ JENKINS_HOME は jenkinsのデータが保存される場所。
適時変更のこと。
最後に、jenkinsをブラウザでアクセスする
T-DASH 事前準備
testrun
T-DASHのコマンド実行は、testrun単位で実行される。
そのため、jenkinsのjobで実行させたいテストのtestrunを作成する
エクスポート & sync file
T-DASHのコマンド実行は、sync fileをもとに実行される。
※T-DASHの現在のprojectではありません
そのため、プロジェクトファイルのエクスポートを行う。
setup
T-DASHをコマンド実行できるためのセットアップである
tdash.exe setup
Jenkins run
システムの環境変数
T-DASHのprojectのpathはよく使う共通値になるため、変数にしておくと便利である。
「Jenkinsの管理」→「システム」→「環境変数」で、以下変数を定義する
環境変数 | 設定値 | 意味 |
---|---|---|
TDASH_PROJECT_PATH | C:\Users\xxxxx\AppData\Local\Programs\T-DASH\projects | プロジェクト保存先 |
job作成
「新規アイテムの作成」で「フリースタイル・プロジェクトのビルド」を選ぶ
「Build Steps」で「windowsバッチコマンドの実行」を選ぶ
実行内容として、以下のようなコマンドを入力する
chcp 65001
set PYTHONUTF8=1
cd %TDASH_PROJECT_PATH%
tdash.exe testrun --silent --sync HOTELPLANISPHERE\sync --output_report_dir_path %WORKSPACE%\%BUILD_NUMBER% login_all
意味 --sync HOTELPLANISPHERE\sync
実行対象のsyncのpathになります。
TDASH_PROJECT_PATHのパスからの相対パスで、対象のプロジェクトのsyncフォルダを指定します。
意味 --output_report_dir_path %WORKSPACE%\%BUILD_NUMBER%
%WORKSPACE% はjenkinsのworkspaceを指します
%BUILD_NUMBER% はjob実行時のbuild numberになります
レポートの保存先を、build numberの下に作成させます
意味 login_all
testrunの名前になります。
その他、t-dashのコマンドラインのオプションに関しては、こちらを参照のこと
job実行
「ビルド実行」をクリックすることで実行されます。
もし、jobが失敗した場合、「コンソール出力」で原因を特定します。
考えられる失敗要因として、以下が考えられます
- パスが間違っている
- ライセンスが二重起動
- コマンドが間違っている
- setupを実行していない