を完了するまで、私は、ログイン後のlocalStorageにデータをsycnhronizeするアプリケーションを持って待って、次を参照してください。セレン - 同期が
コンソール:
しかし、セレンテストを実行すると、次の画面がまだロードされていないため、エラーが発生します。 1つのAPIコールは、もう1つの(常に異なる場合があります)より長くかかる場合があります。すべての同期が完了するまで、セレンテストが待機することを確認するにはどうすればよいですか?
を完了するまで、私は、ログイン後のlocalStorageにデータをsycnhronizeするアプリケーションを持って待って、次を参照してください。セレン - 同期が
コンソール:
しかし、セレンテストを実行すると、次の画面がまだロードされていないため、エラーが発生します。 1つのAPIコールは、もう1つの(常に異なる場合があります)より長くかかる場合があります。すべての同期が完了するまで、セレンテストが待機することを確認するにはどうすればよいですか?
この要素が存在していてもすべてがロードされた後に表示されない場合、次のように動作するはずです。それ以外の場合は、条件を変更する必要があります。
どの言語を使用しているかわかりませんが、選択した言語にコードを変換できます。
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 30)
wait.until(EC.invisibility_of_element_located(driver.find_element_by_xpath("//*[conatains(text(),'Bezig')]")))
firefoxでSelenium IDEプラグインを使用しています。これを行う方法はありますか? – nielsv
@nielsvそうは思わないけど、最新バージョンのIDEでの経験はありません。 –
デフォルトでは、Seleniumは例外を発生させる前に要素が表示されるのを待ちます。タイムアウトを増やすことができます。 – derloopkat
同期が完了したことをユーザーがどのように知っているかを尋ね、それに応じてテストを書き込む必要があります。たとえば、表示されるスピナーの数が0になるまで待つことができます。 –