e 2 eテストの役割? 自信を高める happy pathのみをテストし、トラフィックフローが正しいかどうかを迅速にフィードバックする detoxとは何ですか?Mobile app上のエンドツーエンドの自動化テストフレームワークインストールとCIに公式ドキュメントを配置するのに詳しく書かれていて、一歩一歩歩いて、順調に進んでいます.の メリット:グレーボックステストは、TestID、Text、labelなどの位置決め要素を通過することができ、コードの侵入性は比較的小さいである.
公式の文書はとても詳しく書いて、手に入りやすい試験例は直感的である.
await element(by.id('ButtonA')).tap();
await element(by.id('ButtonB')).tap();
detoxの各ステップのテスト方法はasyncで、ButtonAがクリックされると、Appの各種スレッド、animation、ネットワークリクエスト、非同期メソッドなどがすべて実行され、Appが完全に空いているときにtapメソッドがresolveされます.
したがって、テストが第2ステップまで実行されると、ButtonBは必ずクリック可能な状態にあり、sleepまたはwaitメソッドでButtonBの状態を保証する必要はありません.これがいわゆる自動同期(Automatically synchronized)です.(同期とは、テストスクリプトとAppの実行が予想される順序で実行されることを意味します).
中に踏んだ穴:バージョンの問題:node>=8.3.0 testIDの問題:グローバル統一、タイムリーに異なるページで同じtestID を使用できない
ページが長すぎると、一部の要素がページに表示されない場合、swipeまたはscrollを使用してページを上へドラッグするプロセスをシミュレートし、テストされた要素を表示させてテストを行う必要があります.
シミュレータのキーボードがMacのキーボードに接続されている場合があります.デフォルトではシミュレータのキーボードを非表示にし、手動でシミュレータのキーボードを呼び出す必要があります.そうしないと、テスト中に文字を入力する必要があるテストが中止されます.CIではこの問題がよくあり,プログラムコードでシミュレータに自分のキーボードを使用させる方法を考えてきたが,まだ方法が見つからない.通りすがりの大神、知っていたら教えてください、ありがとうございます!