第一个自动化测试案例 java+selenium
1.实现第一个自动化测试入门案例:
package autoTestE; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class FirstAutoTest { public static void main(String[] args){ //1.系统属性设置驱动程序可执行文件路径 System.setProperty("webdriver.chrome.driver","F://chromedriver.exe"); //2.实例化谷歌浏览器, 我们可以使用这个对象(或称为驱动程序)来执行浏览器上的各种操作 WebDriver driver = new ChromeDriver(); //3.导航到指定页面,get方法用于导航到指定URL driver.get("https://www.baidu.com"); //获得页面标题 if(driver.getTitle().equals("百度一下,你就知道")) System.out.println("Yes!"); else System.out.println("No!"); //4.关闭浏览器窗口; quit方法关闭的是所有浏览器窗口,并且完全关闭WebDriver会话,这样可以避免内存泄漏 //driver.close(); driver.quit(); } }
2.在JUnit4中运行WebDriver测试
package autoTestE; import org.junit.*; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class FirstJUnit { //首先声明一些变量 private WebDriver driver; private String baseUrl; private String pageTitle; private String exceptedTitle; @Before public void Setup(){ System.setProperty("webdriver.chrome.driver","f://chromedriver.exe"); driver = new ChromeDriver(); baseUrl = "https://www.baidu.com"; pageTitle = ""; exceptedTitle = "百度一下,你就知道"; } @Test public void testPageTitle(){ driver.get(baseUrl); pageTitle = driver.getTitle(); if(pageTitle.equals(exceptedTitle)) System.out.println("Expected!"); else System.out.println("Unexpected!"); } @After public void tearDown(){ driver.quit(); } }
将此代码与前一代码相比,可以看出两者相似。区别有:
(1)类开头的私有变量声明,并且将相同的代码分为了多个部分;
(2)添加了注解;
@Test 被当做测试方法运行;
@Before 在指定的每种测试方法之前运行;用于读取或分配数据,初始化或如果多个测试需要先创建相似的对象才能执行;
@After 在执行每种测试方法之后执行;通常会指定与环境清理相关的命令,例如,关闭打开的资源/数据库连接/释放内存等;
(3)这三个注解下的方法都是公开的,返回类型是void。在junit.framework.Testcase类下,有setUp()和tearDown()方法,覆盖这些方法就可以,分别用于初始化和清除。JUnit首先调用setUp()方法,然后调用test方法,最后调用tearDown()方法。
各自努力,不问归期