ネットワーク全体で人気の HttpRunner 自動テストフレームワーク - CSV ファイルデータ(詳細概要)


序文

データ量が比較的多い場合には、テストデータをCSVファイルに書き込み、CSVファイルのデータを直接参照できるようにしたいと考えています。

テストシナリオ

パラメーター リストの内容が YAML/JSON スクリプトで直接指定されている場合、ユースケースは次のようになります。

- config:
    name: parameters test
    request:
      base_url: http://api.nnzhp.cn
    parameters:
      - username-passwd:
          - ["niuhanyang", "aA123456"]
          - ["test10101", "fasdfasfa"]
          - ["test1010", "aA123456"]

- test:
    name: login case
    request:
      url: /api/user/login
      method: POST
      headers:
        Content-Type: application/x-www-form-urlencoded
        User-Agent: Fiddler
      data:
        username: $username
        passwd: $passwd
    validate:
      - eq: [status_code, 200]
      - eq: [content.error_code, 0]

上記のユースケースではテストデータが 3 セットしかありませんでしたが、10 セットや 100 セットのテストデータがある場合、テスト スクリプトに直接記述するのは不便です。

これらすべてのテスト データを CSV ファイルに書き込んで、その CSV ファイルを直接参照することができます。これは非常に便利で、スクリプトもより簡潔になります。

単一パラメータを CSV に保存する

CSV データ ファイルについては、次の合意されたルールに従う必要があります:
ファイルはテスト ケース ファイルと同じディレクトリに配置する必要があります。CSV ファイルの
最初の行はパラメータ名、2 行目はパラメータ名である必要があります。パラメータ値、各(グループ)値は 1 行を占めます。

同じ CSV ファイル内に複数のパラメータがある場合、パラメータ名と値の間の区切り文字はカンマである必要があります。

たとえば、ログイン データのセットが複数あり、ユーザー名は異なりますが、パスワードは同じである場合、次のように username.csv を作成し、username.csv にユーザー名のパラメーターを書き込むことができます。

username
niuhanyang
test10101
test1010

次に、YAML/JSON テスト ケースでは、HttpRunner の組み込みパラメータ化 (P と略します) 関数を使用して CSV ファイルを参照できます。

parameters:
  - username: ${
    
    P(username.csv)} # 或者 ${
    
    parameterize(username.csv)}
  - passwd: ["aA123456"]

注: HttpRunner では、parameters で指定されたパラメータ名は、CSV ファイルの最初の行のパラメータ名と一致している必要があります。

複数のパラメータをCSVに保存する

相関関係のある複数のパラメーターの場合、たとえば、ログイン データのセットが複数あり、ユーザー名とパスワードが異なる場合は、user.csv を作成し、ユーザー名とパスワードのパラメーターを user.csv に書き込むことができます。

次のように:

username,passwd
niuhanyang,aA123456
test10101,fasdfasfa
test1010,aA123456

YAML スクリプトを再度変更します。

parameters:
  - username-passwd: ${
    
    P(user.csv)} # 或者 ${parameterize(user.csv)}

注: 上記の書き方はユーザー名とパスワードが一対一の関係になっており、以下のように書くと直積の組み合わせとなり、3 * 3 = 9通りの組み合わせになります。

parameters:
  - username: ${
    
    P(user.csv)}
  - passwd: ${
    
    P(user.csv)}

また、テストスクリプトでパラメータを指定する場合、一部のパラメータのみを使用でき、パラメータの順序はCSVファイル内のパラメータ名の順序と一致する必要はありません。

ユースケースを実行する

完全な YAML 形式の使用例 (test_csv.yml):

- config:
    name: parameters test
    request:
      base_url: http://api.nnzhp.cn
    parameters:
      - username-passwd: ${
    
    P(user.csv)} # 或者 ${parameterize(user.csv)}

- test:
    name: login case
    request:
      url: /api/user/login
      method: POST
      headers:
        Content-Type: application/x-www-form-urlencoded
        User-Agent: Fiddler
      data:
        username: $username
        passwd: $passwd
    validate:
      - eq: [status_code, 200]
      - eq: [content.error_code, 0]

HttpRunner 1.x バージョンでは、CSV データ ファイル (user.csv など) を引用するには、user.csv と test_csv.yml を同じディレクトリに配置して、ユース ケースを実行する必要があります。

ユースケースを実行した後のレポートは次のとおりです。

C1

以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。

1. Pythonプログラミングの入門から習得まで

画像の説明を追加してください

2.インターフェース自動化プロジェクトの実戦

画像の説明を追加してください

3. Web自動化プロジェクトの実戦

画像の説明を追加してください

4. アプリ自動化プロジェクトの実戦

画像の説明を追加してください

5. 一流メーカーの再開

画像の説明を追加してください

6. DevOps システムのテストと開発

画像の説明を追加してください

7. 一般的に使用される自動テストツール

画像の説明を追加してください

8、JMeterのパフォーマンステスト

画像の説明を追加してください

9. まとめ(最後にちょっとしたサプライズ)

闘争は汗と切り離せない旅であり、一滴の汗は闘争の勇気と忍耐を心に留めます。迷いを手放し、胸を張って、しっかりと踏み出してください、風と雨があってこそ、虹は見えます。

夢を進路として、理想の岸辺へ悪戦苦闘しながら航海していきます。道は険しいかもしれませんが、一歩一歩が成長の証です。粘り強さと忍耐力は成功の基礎であり、忍耐力は夢を実現するためのパスワードです。自分を信じて、勇敢に前進すれば、無限の可能性が生まれます!

闘いの道では、挑戦を恐れないでください。それは成長の触媒だからです。勇気を出して恐怖を払拭し、努力をして輝きを書き、あらゆる努力が未来への原動力となります。

おすすめ

転載: blog.csdn.net/x2waiwai/article/details/132209855