最近インタフェースのテストを行うことが、同社は当初ます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つのテストレポートを持っています
更新