2012-11-12 164 views
0

我使用selenium webdriver 2.0 java api在我的公司運行一些測試。我自由意志地行事,對自動化沒有深入的瞭解,所以請分清我的無知。從junit測試中獲取結果

我想知道如何從「@test」方法檢索結果以防萬一我想將測試結果記錄到文件中。

說我有這個測試用例,我將如何返回結果作爲布爾值?

@Test 
public void like(){ 

    WebDriverWait wait = new WebDriverWait(driver, 5); 


    wait.until(ExpectedConditions.presenceOfElementLocated(By.className("feed-item-ph"))); 

    WebElement like = driver.findElement(By.cssSelector("a.action-block-a.action-like")); 
    like.click(); 

    wait.until(ExpectedConditions.presenceOfElementLocated(By.id("registration-book"))); 

    driver.quit(); 

} 
+0

每個能夠運行JUnit測試的工具都能夠將測試結果保存在一個文件中。你在用什麼? Ant,Maven?你有IDE嗎? – toniedzwiedz

+0

在Maven中使用Eclipse – Yosi199

+0

然後,您可以使用surefire maven插件。這裏有一個相關的[SO問題](http://stackoverflow.com/questions/2030266/junit-output-in-maven-reports) – toniedzwiedz

回答

0

那麼,你不能。它既可以是測試用例,也可以是常規功能。既然Testdriver決定如何調用你的測試用例,並且它不知道如何處理布爾值,這沒有任何意義。

使其工作的最簡單方法是編寫一個函數,該函數返回一個布爾值,並且只是在測試用例中調用該函數。然後,您可以輕鬆地彙總所有您想要的信息。

+0

謝謝,我可以從一個普通的java類調用並運行單個測試嗎? – Yosi199

+0

確定你可以。但是註釋類的好處是,你不必再關心類似的事情。所以請確保你不會因爲不使用自動測試而放棄很多自由。您可以像調用其他方法一樣調用測試方法。 – devsnd

+0

問題是,所有的硒和junit測試都是在一個類下進行的,一旦我有300個測試,它會變成難看的代碼。我想將它們放在不同類別的測試中,並在我的控制下調用不同的測試(運行測試#和運行順序),並且更容易及時維護。 – Yosi199