自动化测试笔记:1、selenium2+junit4学习之百度账号登录
1、构建MAVEN JAVA工程
2、修改pom.xml,添加依赖包
1 <dependency> 2 <groupId>junit</groupId> 3 <artifactId>junit</artifactId> 4 <version>4.8.1</version> 5 </dependency> 6 <dependency> 7 <groupId>org.seleniumhq.selenium</groupId> 8 <artifactId>selenium-java</artifactId> 9 <version>2.16.1</version> 10 </dependency>
3、新建JunitCase
package com.sixstones.selenium; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class BaiduLoginTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void test() { fail("Not yet implemented"); } }
4、用例前置步骤
@Before
public void setUp() throws Exception {
//Constants.chromedriver = "E:/crm/chromedriver_win32/chromedriver.exe"
System.setProperty("webdriver.chrome.driver", Constants.chromedriver);
driver = new ChromeDriver();
}
5、用例步骤
@Test
public void test() {
driver.get("http://www.baidu.com");
if (isExistElement(driver, By.linkText("登录"))) {
System.out.println("未登錄");
WebElement toLoginbtn = driver.findElement(By.linkText("登录"));
toLoginbtn.click();
WebDriverWait wait = (new WebDriverWait(driver, 5));
wait.until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
boolean flag = driver.findElement(By.xpath("//iframe")).isDisplayed();
return flag;
}
});
driver.findElement(By.id("TANGRAM__PSP_8__userName")).sendKeys(userName);
driver.findElement(By.id("TANGRAM__PSP_8__password")).sendKeys(password);
driver.findElement(By.id("TANGRAM__PSP_8__submit")).click();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
Assert.assertTrue(isExistElement(driver, By.linkText("登录成功显示用户名")));
} else {
fail("用戶已登錄!");
}
}
6、Teardown
@After
public void tearDown() throws Exception {
driver.close();
}
7、私有函数,判断元素是否存在
private boolean isExistElement(WebDriver driver, By by) {
boolean flag = true;
try {
List<WebElement> elements = driver.findElements(by);
if ((null == elements) || (elements.size() == 0)) {
flag = false;
}
} catch (Exception e) {
System.err.println(e.getMessage());
flag = false;
}
return flag;
}

浙公网安备 33010602011771号