Pytestベースのインターフェース・テスト

最近インタフェースのテストを行うことが、同社は当初ますFitnesseインタフェースのテストをテストするために、既存のツールを使用する予定です。インターフェイスコンフィギュレーションフィールドデータ中に見つかった、テストデータがより困難で、より多くの時間インタフェースパラメータは、ユースケースの量ははるかに遅い実行速度重要になります。だから、あきらめ。

いくつかの他のツールを見つけ、我々は困難なデータ構造の問題を解決することができません。、実装するためのコードを直接使用するツールを見つけることができません。オンライン推奨いくつかと、コードの量を考えると、我々は、インターフェースの自動化ユースケースを書くためのpython + pytestを使用することにしました。

言語やフレームワークを決定し、その後、実装要件を考慮する必要があります。

使用環境の1例は試験の複数のセットとすることができます

2.スケジューリングはジェンキンスを行ってもよいです

3.テストレポートを持っています

4.インタフェース特定フィールドの値は、各要求に繰り返しません

マルチインターフェースは、テストに関連付けられてもよいです

表6のデータ構造内のデータは、インタフェースおよびフィールドに関連付けられてもよいです

7.pytest実際の使用事例及びデータを使用分離すべき、メンテナンスが容易

8応答の様々なコンテンツは、様々なアサーションの方法を含みます。

 需要:環境とテストケースを複数セット

1セットのテスト環境よりも、自動化された実施形態とのインタフェースを使用した場合、テスト環境を自由に切り替えることができ望ましいです。

この需要を満たすために、我々は最初の独立インターフェースアドレスやその他の構成情報の完全が、情報の管理への環境の寸法に合わせて必要があります。

 私のアプローチは、私は、このようなライオン環境上の画像のように、各環境のエイリアスを設定し、その後、可変情報(すべての環境保全と一致変数名)の永続的な値にサービスを設計する必要がまず第一に、上記に示しました。

 

 

変数名と環境の名前次に、組み合わせで、Redisの(上記)、後続の読み取り及び実施例オートメーションで使用するためのインターフェースを保存します。

 

環境情報を取得するためにした後、次のタスクを自動化インターフェースは例を使用した環境情報を利用する方法を設計することです。

ここでの方法は、実行時に、エイリアス環境を指定する、ということです。

本明細書で使用されるいくつかのユースケースは)pytest.main(で、次のコードのように、ファイルPYの書き込みを開始するpytest.main()、、実装pytestがあります。

 
 
memberCenter.py

1
なら __name__ == " __main__ " 2 であれば(LEN(sys.argvの)== 2 ): 3 _、ENV = sys.argvの 4 5 = ENV ' ライオン' 6 BaseUtil.initTest(ENV) 7 pytest。メイン([ ' --alluredir =。/魅力-結果'' --maxfail = 5 '' -s '' -RA '' テストケース/ membercenter / ' ])

 起動時に、ユースケースのために、コンテキストに追加された属性としてパラメータENV、およびenvを受け入れます。

BaseUtil.py
 からコンテキストインポートコンテキストCTとして
 DEF :initTest(ENV)
 ct.env = ENV 

コマンドを起動します。

 

 ここでは、テスト環境の別名ライオンを指定。

エイリアスの環境では、均一な変数名と相まって、あなたは変数の値に対応するのRedisを取得するには、次の方法を使用することができます。

 

 より多くの環境試験を達成する必要があります。良好な環境の別名のその後のメンテナンス、変数名とその上の変数の値である限り。

 

需要II:スケジューリングはジェンキンスを行うことができます

これは、パラメータ化することによって構築することができ、比較的簡単です。

 

 しかし、ジェンキンスのホストサーバに影響を与えないために、私は、ユースケースのドッキングウィンドウを実行するために使用しました

以下の設定はDockerfileです

 

 シェルジェンキンスを実行している以下の

1は、エコー" のクリア履歴レポートのレコード" 
2  CD $ {WORKSPACEを}
 。3 CD-レポートアリュール&& * RM -rf
 。4  CDの$ {WORKSPACE}
 。5 CD-アリュール結果&& * RM -rf
 。6  
。7エコー" スタートファイル名を指定して実行" 
。8  CD WORKSPACE} {$
 9  
10  機能{del_ci
 11は、    エコー" $ 1。" 
12は   ドッカーSTOPがchbifacetest
 13は   ドッカーRM chbifacetest
 14    ドッカーRMIのhbifacetest:1.1
 15  }
 16  
。17ドッカーが点検--format '{{.State.Running}} ' chbifacetest && del_ci " 删除容器和镜像" 
18  
19  
20ドッカーは-t hbifacetestを構築:1.1 21ドッカー実行-v $ {WORKSPACE} /魅力-結果:は/ usr / local / hbifacetest /魅力-結果-v $ {WORKSPACE} /魅力-報告は/ usr / local / hbifacetest /魅力-レポート--name chbifacetest hbifacetest :1.1 $ {pymainfile} $ {testEnv}
 22エコー" 执行结束"

 需要は3つのテストレポートを持っています

 更新

おすすめ

転載: www.cnblogs.com/moonpool/p/11649996.html