一、环境配置
二、浏览器适配
//1.设置浏览器的位置,google浏览器位置是默认且固定在电脑里的
//2.设置浏览器驱动的位置,C:\Users\27743\AppData\Local\Google\Chrome\Application
System.setProperty("webdriver.chrome.driver", "C:\\Users\\27743\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
//3.加载浏览器
// ChromeDriver chromeDriver = new ChromeDriver();
WebDriver driver = new ChromeDriver();
//4.通过chromeDriver打开浏览器
// chromeDriver.get("https://www.baidu.com/");
driver.get("https://www.baidu.com/");
这里配置selenium环境,推荐这篇文章全国大学生软件测试大赛Web应用测试(二)Selenium功能测试环境配置_慕测平台的eclipse插件-CSDN博客
通过这篇文章来学习
02_浏览器适配_哔哩哔哩_bilibili 根据这个视频操作
设置自动补全功能
三、浏览器基本操作
package selenium;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebDriver.Options;
import org.openqa.selenium.chrome.ChromeDriver;
public class demo1 {
public static void main(String[] args) {
try {
// TODO Auto-generated method stub
//1.设置浏览器的位置,google浏览器位置是默认且固定在电脑里的
//2.设置浏览器驱动的位置,C:\Users\27743\AppData\Local\Google\Chrome\Application
System.setProperty("webdriver.chrome.driver", "C:\\Users\\27743\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
//3.加载浏览器
// ChromeDriver chromeDriver = new ChromeDriver();
WebDriver driver = new ChromeDriver();
//4.通过chromeDriver打开浏览器
// chromeDriver.get("https://www.baidu.com/");
driver.get("https://www.baidu.com/");
Thread.sleep(1500);
//浏览器的操作
//1.浏览器最大化
driver.manage().window().maximize();
// Options manage = driver.manage();
// manage.window().maximize();
Thread.sleep(1500);
//2.获取导航类
// Navigation nat = driver.navigate();
// nat.to("https://www.baidu.com/s?wd=%E6%B8%85%E6%BE%88%E7%9A%84%E7%88%B1%E5%8F%AA%E4%B8%BA%E4%B8%AD%E5%9B%BD&sa=fyb_n_homepage&rsv_dl=fyb_n_homepage&from=super&cl=3&tn=baidutop10&fr=top1000&rsv_idx=2&hisfilter=1");
driver.navigate().to("https://www.baidu.com/s?wd=%E6%B8%85%E6%BE%88%E7%9A%84%E7%88%B1%E5%8F%AA%E4%B8%BA%E4%B8%AD%E5%9B%BD&sa=fyb_n_homepage&rsv_dl=fyb_n_homepage&from=super&cl=3&tn=baidutop10&fr=top1000&rsv_idx=2&hisfilter=1");
Thread.sleep(1500);
//2.1浏览器后退
// nat.back();
driver.navigate().back();
Thread.sleep(1500);
//2.2浏览器前进
// nat.forward();
driver.navigate().forward();
Thread.sleep(1500);
//2.3浏览器的刷新
driver.navigate().refresh();
Thread.sleep(1500);
//3.获取当前标题和url
String title = driver.getTitle();
System.out.println("title:"+ title);
System.out.println("url:"+driver.getCurrentUrl());
//3.1重新打开浏览器,我们看当前的标题和url地址
driver.get("https://www.baidu.com/");
driver.navigate().to("https://yiyan.baidu.com/");
System.out.println("title:"+ driver.getTitle());
System.out.println("url:"+driver.getCurrentUrl());
//last:关闭浏览器
driver.quit();
//last:关闭标签
// driver.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
四、元素的基本操作
package selenium;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.support.ui.WebDriverWait;
public class demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
//1.设置浏览器驱动的位置
System.setProperty("webdriver.chrome.driver", "C:\\Users\\27743\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
//2.加载浏览器
WebDriver driver = new ChromeDriver();
//3.打开浏览器
driver.get("file:///D:/RuanJian/selenium/code/demo1/index.html");
//4.元素的基本操作,先定位后操作
//定位
WebElement input_name = driver.findElement(By.xpath("//*[@id=\"user2\"]"));
System.out.println(input_name.getAttribute("value"));//测试账号
//清空
input_name.clear();
//输入
input_name.sendKeys("李聪聪");
Thread.sleep(1000);
//获取value属性的内容
String value = input_name.getAttribute("value");//李聪聪
System.out.println(value);
//输入密码
driver.findElement(By.xpath("//*[@id=\"password\"]")).sendKeys("123456");
Thread.sleep(1000);
//单选框选择女
driver.findElement(By.xpath("/html/body/table/tbody/tr[4]/td[2]/input[2]")).click();
Thread.sleep(1000);
//复选框选择唱歌
driver.findElement(By.xpath("/html/body/table/tbody/tr[5]/td[2]/input[3]")).click();
Thread.sleep(1000);
//下拉表单选择陕西,这个比较特殊,先获取这个元素,然后加载成select,最后进行操作
WebElement select_table = driver.findElement(By.xpath("/html/body/table/tbody/tr[6]/td[2]/select"));
Select select = new Select(select_table);
//下拉表单,获取其中的值
List<WebElement> options = select.getOptions();
//法一
for (WebElement webElement : options) {
String text = webElement.getText();
System.out.println(text);
}
//法二
for (int i = 0; i < options.size(); i++) {
WebElement webElement = options.get(i);
String text = webElement.getText();
System.out.println("index"+text);
}
//通过顺序选择 0开始
select.selectByIndex(4);//陕西
Thread.sleep(1000);
//通过文字选择
select.selectByVisibleText("北京");
Thread.sleep(1000);
//点击超链接
driver.findElement(By.xpath("/html/body/table/tbody/tr[8]/td[2]/a")).click();//要确定到超链接那里
Thread.sleep(1000);
driver.navigate().back();
Thread.sleep(1000);
//多行文本输入
driver.findElement(By.xpath("/html/body/table/tbody/tr[9]/td[2]/textarea")).sendKeys("666666");
Thread.sleep(1000);
//5.关闭浏览器
driver.quit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}