即使TestNG中的一個或多個斷言失敗,我也不得不繼續測試。 爲了在我的項目中實現軟斷言,我在下面提到了鏈接。軟斷言是如何工作的
http://beust.com/weblog/2012/07/29/reinventing-assertions/
http://seleniumexamples.com/blog/guide/using-soft-assertions-in-testng/
http://www.seleniumtests.com/2008/09/soft-assertion-is-check-which-doesnt.html
,但我不理解的代碼執行的流程,類似於函數調用,FLOW。
請幫助我瞭解soft asserions的工作流程。
代碼:
import org.testng.asserts.Assertion;
import org.testng.asserts.IAssert;
//Implementation Of Soft Assertion
public class SoftAssertions extends Assertion{
@Override public void executeAssert(IAssert a){
try{ a.doAssert(); }
catch(AssertionError ex){
System.out.println(a.getMessage()); } } }
//Calling Soft Assertion
SoftAssertions sa = new SoftAssertions();
sa.assertTrue(actualTitle.equals(expectedTitle),
"Login Success, But Uname and Pwd are wrong");
注:繼續執行,即使上述斷言失敗
感謝 馬赫什
你能告訴我們你的代碼嗎?你嘗試了什麼?你期望什麼?反而發生了什麼? – Seanny123
那麼, 代碼如下。 import org.testng.asserts.Assertion; import org.testng.asserts.IAssert; //實現軟斷言 公共類SoftAssertions延伸斷言{\t @覆蓋 公共無效executeAssert(IAssert一){ 嘗試{ a.doAssert(); catch(AssertionError ex){ System.out.println(a.getMessage()); }}} //調用Soft Assertion SoftAssertions softAssertions = new SoftAssertions(); softAssertions.assertTrue(actualTitle.equals(expectedTitle),「Login Successful Eventhough Username and Password Is Wrong」); 執行繼續,即使上述斷言失敗 –
請將此添加到您的問題。閱讀和理解格式正確的代碼要容易得多,並且使未來的讀者更容易理解這個問題。 – Seanny123