»パート2とパート3では、動作するテストを理解しました。テストを実行する前にその状態をリセットしたい場合(例えば、開いているアプリケーションを停止する)、これを手動で行う必要があったでしょう。それは少し退屈なので、再び自動化する必要があります!この部分では、再利用できる独立したPythonのメソッドに少しのコードを発生せることによって、もっと自動化する方法を見ていきます。OSのロック画面を解除し、すべての実行中のアプリケーションを強制終了することを望みます。それでは、これを行う方法を見てみましょう。ロック画面を有効にします。ファイルに次のPythonのメソッドを追加します。OSのロックを解除します。行の下に、下記の行を追加することで、テスト内でこれを呼びましょう。今、実行時に開いているすべてのアプリケーションを停止するために、私たちのコードにメソッドを追加します。これは下記のように見えます。メソッドの直後にこれを追加します。次に、テストの残りの部分と一緒にこれを実行するには、下記を追加します。行の直後に追加します。appsself.kill_all()今、最後にテスト実行した後に連絡先アプリを開いたままにしておき、また再度テストを実行しようとする前にロック画面に戻してみてください。画面のロックが解除されることに加えて、テストが再実行される前に、開いている連絡先アプリが自動的に停止されます。その状態は、今実行しているテストには影響しません。これは、テスト実行の長期間の信頼性のために重要です。OSが正しくリセットされているかどうかを確認します。ダイナミックウェイトパート3ではダイナミックウェイトの重要性を述べました。Marionetteには下記のような一般的な構文を使用した、WebDriver/Selenium2のようなウェイトがあります。'element_id').is_displayed())指定された要素が表示されるまで、このコードはウェイトします。この時点で、対話する準備が整ったと分かります。テストでこのコード構成を使用してみましょう。行の直後)を、置き換えることができます。フォームが完全に表示されるまでスライドされるのを待ちたいです。ボタンは次にタップが必要となるもので、このため、継続する前に所定の位置にスライドされるのを待つでしょう。関数を、次の行で置き換えます。ボタンが画面の上部に到達するのを待ちます。アニメーション化されたときに、要素は複数のポイントに表示されます。その最終的な静止位置は、待つための最も安全なものです。要素が表示され"ない"のを待つこともできます。メソッドにnotをつけて使用し、Doneボタンが隠されるのを待ちます。関数を、下記で置換します。'save-button').is_displayed())テストがOKに動作している場合には、素晴らしいです!テストのモジュール性と信頼性を向上させました。パート5では、テストを実行するためのテストランナーの使い方ご紹介します。inbox.現在、ニュースレターは英語でのみ提供されています。従って私の個人情報を扱うことに同意します。