HttpRunner 4.xでの環境変数と.envファイルの活用

はじめに

ソフトウェア開発のライフサイクルにおいて、通常以下のような複数の環境を経由します:

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 を実行すると、以下のようなレポートが生成されます:

タグ: HttpRunner 環境変数 .envファイル YAML 自動テスト

6月20日 21:26 投稿