2012-11-12 123 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