java+eclipse+selenium+百度搜索设置自动化测试

在eclipse中新建一个项目baidutest;再在src文件夹中新建一个包com.baidutest.homework;再在包中新建一个java类baidusetting,并设置为静态类;最后在项目中新建一个lib文件夹,将selenium的所有架包拷贝到lib文件夹中,并设置选中项目baidutest,右键选择Bulid Path->Configure Bulid Path,将lib中的所有架包添加到Libraries中。至此selenium包配置完毕。

有什么疑惑可以参照百度经验:eclipse+java添加外部架包

现在要做的是:打开百度页面,点击设置中的搜索设置,修改搜索设置中的选项。代码如下:

package com.baidutest.homework;

import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By.ById;

import java.util.*;//保证List使用正确



public class baidusetting {

	public static void main(String[] args) throws InterruptedException {
		// TODO Auto-generated method stub
		//告诉计算机浏览器驱动在哪里
		System.setProperty("webdriver.chrome.driver",
"C:\\Users\\Dell\\Downloads\\chromedriver.exe");
		WebDriver driver=new ChromeDriver();
		//访问百度网址
		driver.get("https://www.baidu.com/");
		driver.manage().window().maximize();//窗口最大化
		//模拟将鼠标放置在搜索上
		Actions action=new Actions(driver);
		action.moveToElement(driver.findElement(By.xpath("//*[@id=\"u1\"]/a[8]"))).perform();
		Thread.sleep(2000);
		driver.findElement(By.linkText("搜索设置")).click();
		Thread.sleep(2000);
		//此时有两个页面,一个是百度页面,一个是搜索设置页面
		String handle_baidu=driver.getWindowHandle();
		System.out.println("当前页面的标题为:"+driver.getTitle());//打印目前页面的标题
		//如果当前的窗口句柄数不为1,则执行切换窗口
		if (driver.getWindowHandles().size()!=1) {
			//循环遍历,找到登录页面的句柄,并切换到登录页面
			for (String handles:driver.getWindowHandles())
			{
				if (handles.equals(handle_baidu)) {
					continue;
				}
				driver.switchTo().window(handles);//切换到登录页面
			}
			System.out.println("切换之后页面的标题为:"+driver.getTitle());//打印目前页面的标题
		}
		//搜索框提示
		if (driver.findElement(By.id("s1_2")).isSelected()==false) {
			driver.findElement(By.id("s1_2")).click();
		}
		Thread.sleep(1000);
		//搜索语言范围
		List radios=driver.findElements(By.name("SL"));
		if (radios.get(1).isSelected()==false) {
			radios.get(1).click();
		}
		Thread.sleep(1000);
		//搜索结果显示条数
		Select select=new Select(driver.findElement(ById.cssSelector("select[name='NR']")));
		select.selectByIndex(1);//选择每页显示20条
		Thread.sleep(2000);
		//实时预测功能
		Select select_yuce=new Select(driver.findElement(ById.cssSelector("select[name='issw1']")));
		select_yuce.selectByVisibleText("关闭");//选择关闭实时预测功能
		Thread.sleep(1000);
		//搜索历史记录
		if (driver.findElement(By.id("sh_1")).isSelected()==false) {
			driver.findElement(By.id("sh_1")).click();
		}
		Thread.sleep(1000);
		//通栏浏览模式
		if (driver.findElement(By.id("stb_2")).isSelected()==false) {
			driver.findElement(By.id("stb_2")).click();
		}
		Thread.sleep(1000);
		driver.findElement(By.xpath("//*[@id=\"gxszButton\"]/a[1]")).click();
		Thread.sleep(2000);//停顿2秒
		//处理弹出框
		Alert alert=driver.switchTo().alert();
		alert.accept();//. accept() 相当于点击它的"确认";. dismiss() 相当于点击"取消"或者叉掉对话框
		Thread.sleep(3000);//停顿3秒
		driver.quit();
	}

}

 

你可能感兴趣的:(java+selenium)