【1. 加入 jUnit】
Selenium 环境搞定,接下来就要想办法让我们的测试步入正轨了,对于 java 来说,用上 jUnit 是很方便的,maven 项目加入 jUnit 也是轻而易举,稍微修改一下 pom.xml 就可以了
Xml代码
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>Selenium2Test</groupId>
  5. <artifactId>Selenium2Test</artifactId>
  6. <version>1.0</version>
  7. <dependencies>
  8. <dependency>
  9. <groupId>org.seleniumhq.selenium</groupId>
  10. <artifactId>selenium-java</artifactId>
  11. <version>2.25.0</version>
  12. </dependency>
  13. <dependency>
  14. <groupId>com.opera</groupId>
  15. <artifactId>operadriver</artifactId>
  16. </dependency>
  17. <dependency>
  18. <groupId>junit</groupId>
  19. <artifactId>junit</artifactId>
  20. <version>4.8.2</version>
  21. <scope>test</scope>
  22. </dependency>
  23. </dependencies>
  24. <dependencyManagement>
  25. <dependencies>
  26. <dependency>
  27. <groupId>com.opera</groupId>
  28. <artifactId>operadriver</artifactId>
  29. <version>0.16</version>
  30. <exclusions>
  31. <exclusion>
  32. <groupId>org.seleniumhq.selenium</groupId>
  33. <artifactId>selenium-remote-driver</artifactId>
  34. </exclusion>
  35. </exclusions>
  36. </dependency>
  37. </dependencies>
  38. </dependencyManagement>
  39. </project>
4.0.0
Selenium2Test
Selenium2Test
1.0
org.seleniumhq.selenium
selenium-java
2.25.0
com.opera
operadriver
junit
junit
4.8.2
test
com.opera
operadriver
0.16
org.seleniumhq.selenium
selenium-remote-driver
把上一篇中测试 FireFox 的代码拿来按照 jUnit 的结构适当修改一下,就可以直接利用 jUnit 进行测试了
Java代码
  1. package lesson2;
  2. import java.util.List;
  3. import org.junit.AfterClass;
  4. import org.junit.BeforeClass;
  5. import org.junit.Test;
  6. import org.openqa.selenium.By;
  7. import org.openqa.selenium.WebDriver;
  8. import org.openqa.selenium.WebElement;
  9. import org.openqa.selenium.firefox.FirefoxDriver;
  10. import org.openqa.selenium.support.ui.ExpectedCondition;
  11. import org.openqa.selenium.support.ui.WebDriverWait;
  12. public class ExampleJunit {
  13. static WebDriver driver;
  14. @BeforeClass
  15. public static void init() {
  16. System.out.println("init...");
  17. // 如果你的 FireFox 没有安装在默认目录,那么必须在程序中设置
  18. System.setProperty("webdriver.firefox.bin", "D:\\Program Files\\Mozilla Firefox\\firefox.exe");
  19. // 创建一个 FireFox 的浏览器实例
  20. driver = new FirefoxDriver();
  21. }
  22. @Test
  23. public void test() {
  24. // 让浏览器访问 zTree Demo
  25. driver.get("http://www.ztree.me/v3/demo/cn/core/standardData.html");
  26. // 等待 zTree 初始化完毕,Timeout 设置10秒
  27. (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
  28. public Boolean apply(WebDriver d) {
  29. WebElement element = driver.findElement(By.id("treeDemo"));
  30. return element.findElement(By.tagName("a")) != null;
  31. }
  32. });
  33. WebElement element = driver.findElement(By.id("treeDemo"));
  34. List<WebElement> elements = element.findElements(By.tagName("li"));
  35. // 显示生成的节点DOM 数量
  36. System.out.println("treeNode DOM length = " + elements.size());
  37. }
  38. @AfterClass
  39. public static void destory() {
  40. System.out.println("destory...");
  41. //关闭浏览器
  42. driver.quit();
  43. }
  44. }