はじめに
ソフトウェア開発のライフサイクルにおいて、通常以下のような複数の環境を経由します:
1.開発環境
2.テスト環境
3.本番環境
これらの異なる環境間で、データベースやRedisなどのリソースを切り替えるために、.envファイルを使用して環境固有の設定を管理します。
環境変数の概要
自動テストにおいて、環境変数は特定の目的を達成するために役立ちます。主な使用例は以下の通りです:
1.環境の切り替え(テスト、開発、本番など)
2.設定の切り替え(テスト、開発、本番など)
Windowsではsetコマンドを使用して環境変数とその値を設定できます(Linuxではexportコマンドを使用)。以下に例を示します:
C:\Projects\httprunner_demo>set api_endpoint=http://192.168.1.100:8080/api
C:\Projects\httprunner_demo>set test_user=testadmin
C:\Projects\httprunner_demo>set test_pass=demo2023
環境変数を確認するには、set keyコマンドを使用します:
C:\Projects\httprunner_demo>set api_endpoint
api_endpoint=http://192.168.1.100:8080/api
C:\Projects\httprunner_demo>set test_user
TEST_USER=testadmin
C:\Projects\httprunner_demo>set test_pass
test_pass=demo2023
C:\Projects\httprunner_demo>
Windowsではechoコマンドと%var%を使用して環境変数の値を確認できます(Linuxではechoと$varを使用):
C:\Projects\httprunner_demo>echo %api_endpoint%
http://192.168.1.100:8080/api
C:\Projects\httprunner_demo>
注意点:コマンドプロンプトで設定した環境変数は一時的なものであり、PCに保存されません。ウィンドウを閉じると自動的にクリアされます。
.envファイルによる環境変数の設定
HttpRunnerプロジェクトを初めて作成すると、ルートディレクトリに.envファイルが自動生成されます。
HttpRunner 4.xでは、環境変数の値を読み取るためのENV関数が組み込まれており、YAMLスクリプト内で${ENV(key)}を使用して簡単に参照できます。
YAMLスクリプトでの環境変数参照例
ENV関数${ENV(key)}を使用して環境変数を参照します。
ルートディレクトリの.envファイルには以下の環境変数が設定されています:
# .env
api_base=http://192.168.1.100:8080/api
login_user=admin
login_pass=secure2023
config:
name: 環境変数テストケース
teststeps:
-
name: ログインAPIテスト
variables:
user_name: admin
request:
method: POST
url: ${ENV(api_base)}/auth
json:
username: ${ENV(login_user)}
password: ${ENV(login_pass)}
validate:
- eq: [status_code, 200]
- eq: [body.data.user, admin]
- contains: [body.data.user, "admin"]
- eq: [body.data.status, "success"]
- eq: [headers."Content-Type", "application/json"]
実行コマンド:hrp run testcases\auth_demo.yml --gen-html-report を実行すると、以下のようなレポートが生成されます: