我正在考慮將硒測試的詳細報告生成。我想實現的是類似於robot-framework生成的報告,即:在測試執行過程中調用的每個方法提供成功或失敗的信息。Java/JUnit - 跟蹤每個通過和失敗的方法
所以,如果測試方法是:
@Test
public void sampleTest() {
LoginToApp.logInAsAdmin();
Tree.selectOnTree("something");
Misc.takeScreenshot("file.png");
}
logInAsAdmin()調用一些其他方法:
public static void logInAsAdmin() {
logIn(getAdminUserName(), getAdminPass());
Click.clickElementByTestId("test");
}
selectOnTree()也:
public static void selectOnTree(String elementId) {
findPathToElement(elementId);
Click.clickElementByTestId(elementId);
}
,並且例如,單擊樹項時測試失敗(因此,selectOnTree()中的clickElementByTestId()失敗)。我想用所有執行的方法獲得很好的報告,提供哪些方法稱爲它的信息(調用的層次結構很重要)。某事像:
sampleTest - FAILED
logInAsAdmin - PASSED
logIn - PASSED
clickElementByTestId - PASSED
selectOnTree - FAILED
findPathToElement - PASSED
clickElementByTestId - FAILED
從JUnit的使用TestWatcher是不夠的,因爲它僅提供了測試方法的名稱失敗,並沒有關於後續的方法調用的信息。一種簡單但不方便的方法是簡單地修改每種方法,將其「執行狀態」發送給某種記者。有沒有其他更優雅的方法可以達到同樣的效果?