我有一個測試方法裏面我想驗證一些事情,只有在我軟測試方法斷言後失敗的測試類。SoftAssert在硒測試類
但是,我覺得我的測試方法越來越混亂與故障處理。我還沒有找到任何有關這方面的最佳做法。有任何想法嗎?如果我將斷言移動到頁面對象類中,它也會有點混亂。
@Test
public void test() {
// steps here
// then asserts here
SoftAssert soft = new SoftAssert();
String expectedHeaderText = "foo";
soft.assertTrue(pageObjectClass.isHeaderPresent(), "Unable to find the Header page object.");
soft.assertTrue(pageObjectClass.getHeader().contains(expectedHeaderText),
String.format("Expected to find '%s'. Page actually shows '%s'", expectedHeaderText, pageObjectClass.getHeader()));
// more asserts
sa.assertAll();
}
檢查標題的存在似乎相當多餘,然後檢查標題中的文本。如果你退出第一個斷言,並且只檢查標題文本,你仍然斷言同樣的事情:頭文件存在,文本是你所期望的。 保持斷言在測試類,從來沒有在頁面對象類,因爲這是沒有道理的。頁面對象類應該只有選擇器和getter/setter以及其他頁面相關的邏輯,不應該在那裏做斷言。 – jaredgilmore