一、环境搭建
1、JDK安装(配置环境变量)
2、selenium下载
3、测试Demo
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.baidu.com");
driver.findElement(By.id("kw")).sendKeys("巡阴人");
driver.findElement(By.id("su")).click();
Thread.sleep(2000);
driver.close();
}
复制代码
4、八大定位元素
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.baidu.com");
driver.findElement(By.id("kw")).sendKeys("逆流成河");
driver.findElement(By.name("wd")).sendKeys("逆流成河");
driver.findElement(By.className("s_ipt")).sendKeys("逆流成河");
driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("逆流成河");
driver.findElement(By.cssSelector("#kw")).sendKeys("逆流成河");
driver.findElement(By.linkText("新闻")).click();
driver.findElement(By.partialLinkText("新")).click();
driver.findElement(By.tagName("input")).sendKeys("逆流成河");
Thread.sleep(2000);
driver.close();
}
复制代码
5、常用方法
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.baidu.com");
driver.findElement(By.id("kw")).sendKeys("逆流成河");
System.out.println(driver.findElement(By.id("kw")).getAttribute("name"));
driver.findElement(By.id("kw")).clear();
System.out.println(driver.findElement(By.id("kw")).isDisplayed());
System.out.println(driver.findElement(By.linkText("新闻")).getText());
driver.manage().window().maximize();
System.out.println(driver.findElement(By.id("kw")).isSelected());
driver.findElement(By.id("kw")).sendKeys("逆流成河");
driver.findElement(By.id("su")).submit();
driver.findElement(By.id("su")).click();
System.out.println(driver.getWindowHandle());
System.out.println(driver.getCurrentUrl());
Thread.sleep(2000);
driver.close();
}
复制代码
6、悬停和下拉框以及复合定位
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.baidu.com");
Actions action=new Actions(driver);
action.clickAndHold(driver.findElement(By.cssSelector("#u1 > a.pf"))).perform();
Thread.sleep(2000);
driver.findElement(By.cssSelector("#wrapper > div.bdpfmenu > a.setpref")).click();
Thread.sleep(2000);
Select select=new Select(driver.findElement(By.cssSelector("#nr")));
select.selectByIndex(1);
select.selectByValue("50");
select.selectByVisibleText("每页显示10条");
select.getOptions().get(2).click();
for(int i=0;i<select.getOptions().size();i++){
select.getOptions().get(i).click();
Thread.sleep(2000);
}
for(int i=0;i<driver.findElements(By.name("SL")).size();i++){
driver.findElements(By.name("SL")).get(i).click();
Thread.sleep(1000);
}
Thread.sleep(2000);
driver.close();
}
复制代码
7、frame操作和文件上传
public static void main(String[] args)throws Exception {
System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
WebDriver driver=new ChromeDriver();System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
driver.get("https://mail.qq.com/cgi-bin/loginpage");
driver.manage().window().maximize();
driver.switchTo().frame(driver.findElement(By.id("login_frame")));
driver.findElement(By.id("u")).sendKeys("2788386852@qq.com");
driver.findElement(By.id("p")).sendKeys("XIAOqin=900216");
driver.findElement(By.id("login_button")).click();
Thread.sleep(2000);
driver.findElement(By.id("composebtn")).click();
driver.switchTo().frame(driver.findElement(By.id("mainFrame")));
Thread.sleep(5000);
driver.findElement(By.cssSelector("#toAreaCtrl > div.addr_text > input")).sendKeys("734867098@qq.com");
driver.findElement(By.id("subject")).sendKeys("xunyinren");
driver.findElement(By.name("UploadFile")).sendKeys("C:\\Users\\Administrator\\Desktop\\123987.sql");
driver.switchTo().defaultContent();
Thread.sleep(2000);
driver.findElement(By.id("readmailbtn_link")).click();
}
复制代码
二、测试框架TestNg