1、访问网页地址
driver.get()和driver.navigate().to()的区别:前者加载网页时会检查是否加载完成,并判断加载过程中是否有异常,有默认的加载超时时间,后者不会检查,也没有超时时间。
2、返回上一个访问的网页
drive.navigate().back();
3、模拟单击浏览器的前进功能
driver.navigate().forward();
4、刷新当前网页
driver.navigate().refresh();
5、操作浏览器窗口
@Test
//操作浏览器窗口
public void operateBrowser(){
WebDriver driver = new FirefoxDriver();//启动Firefox浏览器
Point point = new Point(500,500);//浏览器位置
Dimension dimension = new Dimension(500,500);//浏览器窗口大小
driver.manage().window().setPosition(point);
driver.manage().window().setSize(dimension);
System.out.println(driver.manage().window().getPosition());
System.out.println(driver.manage().window().getSize());
driver.manage().window().maximize();//最大化浏览器
driver.get("http://www.sougou.com");
}
6、获取页面的Tile属性
public void getTitle(){
WebDriver driver = new FirefoxDriver();
driver.get("http://www.sougou.com");
String title = driver.getTitle();
System.out.println(title);
assertEquals("搜狗®宠物天下 - 爱宠物,爱生活", title);//判断页面是否是"搜狗®宠物天下 - 爱宠物,爱生活"
}
7、获取页面的源代码
public void getPageSource(){
WebDriver driver = new FirefoxDriver();
driver.get("http://www.sougou.com");
String pageSource = driver.getPageSource();
System.out.println(pageSource);
assertTrue(pageSource.contains("宠物"));
}
8、获取当前页面的URL地址
driver.getCurrentUrl();
9、在输入框中清除原有的文字内容
被测试网页的HTML源码:
<input type="text" placeholder="" id="toolber-keyword" name="" class="input_search" autocomplete="off">
java测试代码:
public void clearInputBoxTest() throws InterruptedException{
WebDriver driver = new FirefoxDriver();
driver.get("https://www.csdn.net/");
WebElement input = driver.findElement(By.id("toolber-keyword"));
input.sendKeys("hahhahha");
Thread.sleep(3000);//等待3秒,查看操作后的页面结果
input.clear();
}
10、单击按钮
被测试网页HTML:
<a target="_blank" title="博客" class="toolbar_to_feed" href="//blog.csdn.net/">博客</a>
java代码实现
public void clickButton(){
WebDriver driver = new FirefoxDriver();
driver.get("https://www.csdn.net/");
driver.findElement(By.xpath("//li/a[@title='博客']")).click();
}
11、双击某个元素
public void doubleClick(){
WebDriver driver = new FirefoxDriver();
WebElement inputBox = driver.findElement(By.id("inputBox"));
Actions act = new Actions(driver);
act.doubleClick(inputBox).build().perform();//build()表示编译,可以不要;perform()表示执行。
}
12、操作单选下拉列表
public void operateDropList(){
WebDriver driver = new FirefoxDriver();
driver.get("http://www.scuec.edu.cn/s/1/t/560/main.htm");
Select dropList = new Select(driver.findElement(By.id("p7c4")));//找到下拉列表元素
assertTrue(dropList.isMultiple());//判断下拉列表是否允许多选
assertEquals("法学院", dropList.getFirstSelectedOption().getText());//判断下拉列表第一个选项是否为“法学院”
dropList.selectByIndex(3);//选中下拉列表第四个选项
assertEquals("民族学与社会学学院", dropList.getFirstSelectedOption().getText());
}
13、将当前浏览器的窗口截屏
public void captureScreenInCurrentWindow() throws IOException{
WebDriver driver = new FirefoxDriver();
driver.get("http://www.scuec.edu.cn/s/1/t/560/main.htm");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("c:/testing/test.png"));
}
14、杀掉Windows的浏览器进程
WindowsUtils.tryToKillByName("firefox.exe");
WindowsUtils.tryToKillByName("iexplore.exe");
WindowsUtils.tryToKillByName("chrome.exe");
15、双击与拖拽
public void Drop(){
WebDriver driver = new FirefoxDriver();
Actions act = new Actions(driver);
WebElement mess = driver.findElement(By.id("message"));
act.doubleClick(mess).build().perform();//双击操作
WebElement src = driver.findElement(By.id("dragable"));
WebElement target = driver.findElement(By.id("dropable"));
act.dragAndDrop(src, target).perform();//拖拽到目标位置
act.dragAndDropBy(src, 0, 10).perform();//向下拖拽10个像素
act.dragAndDropBy(src, 10, 0).perform();//向右拖拽10个像素点
}
16、操作单选下拉列表和单选框
public void operateDropList(){
WebDriver driver = new FirefoxDriver();
driver.get("http://www.scuec.edu.cn/s/1/t/560/main.htm");
//操作单选下拉列表
Select dropList = new Select(driver.findElement(By.name("make")));//找到下拉列表元素
assertTrue(dropList.isMultiple());//判断下拉列表是否允许多选
dropList.selectByIndex(0);//通过索引选中
dropList.selectByValue("honda");//通过值选中
dropList.selectByVisibleText("honda");//通过可见文本查找
dropList.deselectAll();//取消所有选中
//操作单选框
WebElement radioOption = driver.findElement(By.cssSelector("form input:nth-child[1]"));
radioOption.click();//选中单选框
radioOption.isSelected();//判断单选框是否被选中
}
17、执行JavaScript脚本
public void executeJavaScript(){
WebDriver driver = new FirefoxDriver();
driver.get("http://www.sougou.com");
JavascriptExecutor js = (JavascriptExecutor)driver;
String title =(String)js.executeScript("return document.title");//返回当前浏览器窗口的Tile值
System.out.println(title);
String serachButtonText = (String)js.executeScript("var button = document.getElementByid('stb');returnn button.value");//获取页面的搜索按钮对象,并返回搜索按钮文字
System.out.println(serachButtonText);
}