アサーションステートメントを使用すると、スクリプトが予期される結果を受信していることを確認できます。セッションステータスは、ジョブが失敗した原因が不明な例外か、またはアサーションステートメントの失敗かを判断するために使用します。

以下のセクションでは、アサーションの例と、セッションステータスを使用して、どのスクリプトに問題があるかを確認する方法について説明します。

アサーションを使用して予期される結果を確認する

assert ステートメントは、単純なシンタックスを使用して予期される結果を確認します。アサーションが失敗した場合に表示するメッセージを指定することもできます。次の例では、アサーションが失敗した場合に、メッセージ「Title should contain AppDynamics」が表示されます。

# Get page and check the title
driver.get("http://https://ecommerce.com/view.html/ref=nav_cart")
assert "E-Commerce Shopping Cart" in driver.title, "Title should contain E-Commerce Shopping Cart"
 
# Click link and confirm URL is correct
driver.find_element_by_link_text("Place your order").click()
assert "ThankYouCart" in driver.current_url
PY

また、文字列が結果に含まれていないこと、または数学的な式の真偽を確認することもできます。False の assert ステートメントは、FAILED のセッションステータスになります。

 # Confirm the page doesn't gives a 500 error.
assert "500 Internal Server Error" not in driver.page_source
# Confirm the footer is on the page.
footer = driver.find_elements_by_class_name('footer-body')
assert len(footer) > 0, "Footer couldn't be found."
PY

セッションステータスを使用してスクリプトの問題を検出する

2 セッションのステータス BROKEN および FAILED は、スクリプトに問題が発生したことを示します。 セッションステータス  が BROKEN の場合は、スクリプトが不明な例外をスローしたことを意味します。多くの場合、コードを確認してエラーを検索する必要があります。一般的な例外のリストについては、「Exceptions」を参照してください。

セッション状態が FAILED の場合、assert ステートメントが失敗したか、または「Fail on page load error」をオンにした場合、ページをロードできません。アサーションステートメントが失敗した理由、またはページをロードできなかった理由を特定する必要があります。 

アサーションステートメントの結果は、セッションステータスの詳細とスクリプトの出力で表示できます。Session Details ページでは、上部の赤色の例外ボックスと Waterfall タブから、失敗した assert ステートメントを表示できます。

失敗した assert ステートメントは、Script Output ダイアログにも表示されます。