在实践中使用Selenium 2.0 WebDriver

前端之家收集整理的这篇文章主要介绍了在实践中使用Selenium 2.0 WebDriver前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在JUnit中编写Selenium测试用例并在多个浏览器中测试我的项目,我想利用所有Selenium驱动程序实现相同接口的事实.

每个测试用例应如下所示:

  1. package fm;
  2.  
  3. import org.openqa.selenium.WebElement;
  4. import org.openqa.selenium.By;
  5. import org.openqa.selenium.WebDriver;
  6. import static org.junit.Assert.*;
  7.  
  8. public class HomepageTest {
  9.  
  10. @Test
  11. public void testTitle(WebDriver driver) {
  12. driver.get("http://localhost/");
  13. assertEquals("Foo",driver.getTitle());
  14. }
  15.  
  16. @Test
  17. public void testSearchForm(WebDriver driver) {
  18. //...
  19. }
  20.  
  21. }

传递的WebDriver实现应该集中控制.我可能需要覆盖一些JUnit行为,我希望它是可能的.

我想这样做是为了避免两件事:

>代码重复:如果每个测试用例都会在@Before中初始化所有经过测试的浏览器,那么测试套件会有很多重复的代码难以维护.
>测试套件的速度:如果我集中控制订单并通过了WebDriver实现,我可以轻松地设置打开例如Firefox,在其中运行所有测试用例,关闭它并打开下一个浏览器.如果每个测试用例都能够自行打开和关闭浏览器,那么每次测试运行都会增加很多时间.

有人知道我应该怎么做?谢谢.

解决方法

在Selenium项目中,我们使用 http://code.google.com/p/selenium/source/browse/trunk/java/client/test/org/openqa/selenium/AbstractDriverTestCase.java注入我们需要的东西,然后我们的构建调用浏览器,我们在其中运行测试.

看看我们的代码库,以获得一些灵感!

猜你在找的Java相关文章