エッセイやレコードは、仲間の旅行者へのアクセスを容易にします。
#私------------------------------------------------ -------------------------------------------分割線は残念です
学習セレン自動化する前に、それはHTML、CSS、JavaScriptやその他の知識、操作および位置決め要素の原理を理解するための助けを学ぶのがベストです。Pythonとセレンに関する追加情報をインストールし導入していない、すべての例はpython3.6 +セレンを使用して実行され、ここで自分で検索してください。
#私------------------------------------------------ -------------------------------------------分割線は残念です
ユニットテストの点で初心者になる試験に慣れていない人のために仕事をする音トール、一見のみ高度試験または開発に関するトピックです。実際には、それはそれほど高度な想像されていない、我々はゆっくり例によりその神秘的なベールを開いています。
読者は、私たちは、学校では疑いがないされてのWeb それを自動化しますか?ユニットだけでなく、コードレベルのテストのために、ユニットテストフレームワークが関係しているフレームワークをテストし、実際には、ユニットテストフレームワークを学んで行くなぜ、私はそれは主に以下の三つのことであると信じています。
:組織は、ユースケースと実装を提供しますのみいくつかのテストケースは、テストケースの数十万人が一緒に積まテストを大量に到達するとき、しかし、組織のユースケースを考慮する必要がないときは、スケーラビリティを作成し、メンテナンスの問題、およびこの時間指定の組織は、ユースケースを検討する必要があります。この問題を解決するために使用されたユニットテストフレームワーク。
この方法は、比較の富を提供する:機能テストまたはユニットテストのいずれかが、結果は、ユースケースによって実行されるか否かを判定するように期待される結果を用いて行っユースケースが完了した後(アサート)の実際と比較する必要があります。ユニットテストフレームワークは、一般的なアサーションの富を提供します。例えば、それは等しいと判断された / いないだけあって/ 含まない、真/偽のような主張を。
ログの富を提供します:テストケースが失敗したときにすべてのユースケースは、実行結果の富を提供することができたときに実行が完了すると、失敗の明確な理由を投げます。例えば、総実行時間は、故障のユースケースの数は、症例数等が正常に使用します。
一般的なユニットテストフレームワークは、これらの機能を提供し、これらの機能は、ビューの試験フレーム要素の範囲は、に等しく適用可能であるウェブ開発および実行オートメーション実施形態。
理解ユニットテスト
ユニットテストとは何ですか?ユニットテストは、モジュールのエラーを検出するための重要なプログラム分岐テストのためのガイドとしてのモジュールのドキュメントに記載されているソフトウェアの設計を使用して認証のための最小限のソフトウェア設計ユニット(モジュール)、担当しています。で Pythonのようなフレームワークをテストする多くの言語ユニット、あるdoctestの、ユニットテスト、pytest 、鼻、等、ユニットテストフレーム(旧PyUnitではフレーム)としてのPython 言語は、ユニットテストフレームワークが来る、Pythonの2.1 およびそれ以降のバージョンを持っているunittestのAとは標準モジュールPythonの開発キット。
ユニットテストの理解
読者は頼む、それを書くことではないユニットテストユニットテストフレームワークを行うことができますか?回答がピットを与えられ、単独でユニットテストは、そうすることができるが、書き込みユニットテストは、次の例では、ユニットテストのためのフレームワークをテストしないことにより実証ユニットテストフレームワークを実行し、別のセクションを開き確認するコードの一部です。
最初のテストクラスの作成 calculator.pyを
#電卓 クラスカウント(): DEF __init__ (セルフ、A、B): self.a = INT(A) self.b、 = INT(B) #計算加算器 DEF 追加(自己): 戻り self.a +セルフ。 B
非常に簡単な手順で、作成カウントにより、整数の二つのクラスのための計算を__init __()2つの数値を初期化する方法は、その後、作成アドオン()メソッドを2つの数の和の結果を返します。
フレームワーク書かれたテストをテストすることなく、しかし部材として実現上記特徴によれば、 test.py
電卓インポートカウント #の二つの整数のテスト追加 クラスTestCount(): DEFは:(セルフ)test_add 試み: J =カウント(2,3 ) を追加 = j.add() アサート(追加== 5。)、「整数追加エラー結果!' を除くAS MSGでてAssertionError: 印刷(MSG) 他: 印刷(' !テストPAA " ) #テストクラスのテストメソッドを実行する のMyTest = TestCount() mytest.test_add()
まず、導入電卓ファイルConutのクラス、次にtest_add()呼び出しメソッドカウントクラスと通過二つのパラメータ2 及び3 、最後のコールカウントクラスの追加()メソッド二つのパラメータかつら動作のため、およびによってアサート()を決定するための方法を追加()の戻り値が等しい5 、等しくない場合は、「カスタム例外整数加算結果のエラー!等しい印刷する場合は、異常情報」「テスト合格を!」
結果:
このテストには多くの問題があることを見つけるのは難しいことではありません。まず、ないが書かれているテスト手順は、特定の規範に従うことができる、プログラマは常に完全に異なるテスト手順を記述することができ、コードはすべてのメンテナンスが非常に面倒さではありません。第二に、必要で、補助ユニットテストに多くのコードを書くために test.py さらにテストされているコード以外にテストするためのコードが、これは単なるテスト、モジュールの単位、唯一の書かれていますテストケースは明らかに十分ではありません。
維持・書き込みする簡単なユニットテストコードのために、最善の方法は、心の中で生まれたユニットテストフレームワークで書き込みテストケースに特定の規範に従うことです。次に、どのように伝える unittestの書き込みユニットテストユニットテストフレームワーク。
電卓インポートカウント インポートunittestの #の二つの整数ののテスト追加 クラス(たunittest.TestCaseの)TestCount: DEF セットアップ(セルフ): 印刷(「テストスタート」) DEF (自己)test_add: J =カウント(2,3 ) セルフ。 assertEqual(j.add()、 5。 ) DEF ティアダウン(自己): 印刷(" テスト終了" ) #テストクラスのテストメソッド実行 IF __name__ == ' __main__ 'を: unittest.main()
上記のコードで、最初の導入の分析ユニットテストモジュール、作成TestCountの継承というクラスをunittestのののTestCase クラス、我々はできるのTestCase クラスは、特定のクラスのためのテストと呼ばれるコレクションです。
セットアップ()メソッドは、ここでは単に「印刷、テストケースの実行前にワークを初期化するために使用されるテストスタート」メッセージを。TEARDOWN()メソッドセットアップ()リハビリテーション作業のためのエコーの方法は、「本明細書印刷、テスト(例えば、終了操作)の後に行われるテスト終了」情報。
()test_add 最初の呼び出しでカウント呼び出すことによって、算出されるクラスと着信番号)(ADDを戻り値の数を取得する2つの方法が追加されます。もはやそれは呼び出し、面倒な例外処理を使用しないユニットテストフレームワークが提供さassertEqual()メソッド()を追加し、値のアサーションを返し二つが、同じであるか否かを判断assertEqual()のメソッドテストケースは、クラスの継承を導出しました。
ユニットテストは、グローバル提供メイン()容易一つの単位テストスクリプトにテストモジュールを直接実行することができることができる方法。メイン()メソッドは使用していますTestLoaderのすべてのモジュールの半分酔っを検索するためのクラスを試験方法「テスト」の名前の先頭に、それらを自動的に実行します。
結果: