③Azure DevOpsを利用してAllure x Pytestを使ったテスト自動化環境構築(Python x Allure環境構築編)
はじめに
こんにちは、自動化エンジニアの竹川です。
前回のself-hosted-agentセットアップ構築編はいかがでしたか?今回も引き続き「Azure DevOpsを利用してAllure x Pytestを使ったテスト自動化環境構築」をご紹介したいと思います。
関連記事
本記事の目的
前回Windows Server2022上に「self-hosted-agent」をインストールして起動するところまで対応しました。今回の章ではテスト自動化フレームワークのPytestとテスト結果のレポートを出力するためのAllure CLI、Azure StorageへのファイルアップロードするためのPowershell Azモジュールのインストール手順について解説させていただきます。
Allure CLIをインストールするにはWindowsのパッケージ管理コマンドscoopでインストールする方法とMaven Centralでダウンロードしてマニュアルでインストールする方法がありますが、 今回はscoopでインストール方法を採用しています。
また、途中Pytestのインストールの中でpytest-playwrightをインストールの手順がございますが、こちらはPlaywrightでE2Eのテストするためにインストールしています。 PlaywrightはFireFox、Chrome、Webkitを1つのAPI で自動化するためのMicrosoftから提供されているツールとなります。
たくさんの用語がでてきて初めてのかたは覚える事が大変かと思いますが、めげずにお付き合いいただけると幸いです。
Python環境構築
1. Pythonインストール
以下ソースをコピーし、install_python.ps1を作成
# urとoutput: https://www.python.org/ より適切なものを設定してください。
$url = "https://www.python.org/ftp/python/3.10.4/python-3.10.4-amd64.exe"
$output = "C:/tmp/python-3.10.4-amd64.exe"
# exeの存在チェック
if (Test-Path $output) {
Write-Host "Script exists - skipping installation"
return;
}
# tmpディレクトリ作成
New-Item -ItemType Directory -Force -Path C:/tmp
# TLS1.2に設定
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# インストーラーダウンロード
Invoke-WebRequest -Uri $url -OutFile $output
# パッシブモードでインストーラー起動
& $output /passive InstallAllUsers=1 PrependPath=1 Include_test=0
Windows Serverへログインし、C:\Users{対象ユーザー}\Downloads」に「install_python.ps1」を設置
Powershell ISEを管理者権限で開いて先ほど作成した「install_python.ps1」を実行してください。
※Pythonのバージョンを変更したい場合は公式ページよりダウンロードURLを控えて適切なものに変更してください。
「install_python.ps1」を実行後、Pythonのインストーラーが起動されます。
Pythonのインストーラーの処理が完了したら再度Powershellを起動し、以下コマンドを実行してバージョンを確認してください。
下記のキャプチャのようにバージョンが表示されたら完了となります。
python --version
2. Pythonモジュールインストール
Powershellを管理者権限で開いて以下コマンドでpytestをインストール
py -m pip install pytest
allure-pytestをインストール
py -m pip install allure-pytest
playwrightをインストール
py -m pip install playwright
pytest-playwrightをインストール
py -m pip install pytest-playwright
PlayWrightで利用可能なブラウザをインストール
playwright install
もしくは
py -m playwright install
python-slugifyをインストール
py -m pip install python-slugify
Allure環境構築
1. scoopインストール
Allureインストールについては公式サイトではscoopコマンドを推奨しています。そのため、scoopコマンドをインストールする必要がありますので 以下手順を実施してください。また、ポリシーによってはscoopをインストールできない場合もありますのでAllureの公式インストールガイドの 2.1.4. Manual installationをご参照のうえご対応ください。
実行ポリシーを変更
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
インストール用スクリプトをダウンロード
# 管理者権限で実行する場合:
iwr -useb get.scoop.sh -outfile 'install.ps1'
# 通常権限 ※Windows Server2002の場合は管理者権限になってしまうので以下コマンドは使えません。
Invoke-WebRequest get.scoop.sh | Invoke-Expression
インストールスクリプト実行
.\install.ps1 -RunAsAdmin
Scoop was installed successfully!が表示されたら成功となります
2. allureインストール
allure を以下コマンドでインストール
scoop install allure
'allure' (x.xx.x) was installed sucessfully!が表示されたら成功です
gitをインストール
scoop install git
bucketにjavaを追加
scoop bucket add java
openjdkをインストール
scoop install openjdk
allureのバージョン確認し、以下のようにバージョンが表示されたら成功となります
allure --version
PowerShell Azモジュールインストール
Azure Storageにアップロードする際にAZモジュールが必要となりますので以下手順に従ってご対応ください。
Powershellにて以下コマンドを実行
Install-Module Az -AllowClobber
NuGetプロバイダー:Y、信頼されていないレポジトリ:Yを入力
インストール完了後、サーバー再起動をしてください。
次回のお知らせ
今回はここまでとなります。
Python、Allure、Powershell AZモジュールをインストールしてきました。環境構築の作業だったので単調でしたね!
私もWindowsの単調な作業は好みではないのでこういった作業はすぐに自動化したくなります。 しかしながら、お客様の環境によってはTerraformやAnsibleがセキュリティーポリシーなどで導入できない事もありますので 環境に合わせて対応するしかないと思っています。
次回は、【④Azure DevOpsを利用してAllure x Pytestを使ったテスト自動化環境構築(Azure Storage構築編)】 をご紹介したいと思います!
最後までお読みいただき、ありがとうございました。
【次回の記事はこちら】
お問合せはお気軽に
https://service.shiftinc.jp/contact/
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/