2017-12-27 10 views
0

ソフトアサートのいずれかが失敗してもテストは続行されます。 私の場合は、次のテスト要素が見つからないため、ソフトアサートに失敗した後にテストが停止します。softAssertが失敗した後に要素を見つけることができません。

softAssert.assertTrue(p.OtsPage.fName().getAttribute("readonly").equals("true"), "field Name is Editable", "field Name is Read Only"); 
softAssert.assertTrue(p.OtsPage.fEditValue().isEnabled(), "field Edit Value is not Editable", "field Edit Value is Editable"); 

これは正常に動作しますが、私は設定している場合:

org.openqa.selenium.NoSuchElementException:

softAssert.assertFalse(p.OtsPage.fName().getAttribute("readonly").equals("true"), "field Name is Editable", "field Name is Read Only"); 
softAssert.assertFalse(p.OtsPage.fEditValue().isEnabled(), "field Edit Value is not Editable", "field Edit Value is Editable"); 

を私は次のエラーメッセージがあります。 第2ソフトアサート!!!

とテストが停止します。

環境:Selenium 3.5 + geckodriver + Mozilla 56.0.1。

答えて

0

これは、2番目の行が実行されているが例外をスローすると述べたので、アサーションには問題はないようです。あなたの問題はおそらくここにあります:p.OtsPage.fEditValue().isEnabled()

より正確には、docsに従ってNoSuchElementExceptionがWebDriver.findElement(By)によってスローされます。

あなたはおそらく関数をfEditValue()関数で実行し、そこで問題を検索する必要があります。この関数でselectorで示される要素が実際にページ上に現れていることを確認してください。

関連する問題