一、selenium的简介
一套软件工具,用来支持不同的自动化测试方法
开源软件:可以根据需要来增加重构工具的某些功能
跨平台:linux , windows mac
核心功能就是可以在多个浏览器上进行自动化测试
支持多种编程语言
目前已经被google , 百度, 腾讯等公司广泛使用
能够实现类似商业工具的大部分功能,并且还实现了商业工具不能支持的功能
PS:WebDriver直接让测试工具使用浏览器和操作系统本身提供的方法, 借此来绕过JS环境的沙盒效应。
1.1WebDiver和selenium1.0的区别:
WebDriver 是Selenium 1 的升级版本, 也可以理解为两个不同的产品
WebDriver 相比Selenium 1 来说可以更好地绕过JS的限制,API也更易于使用.
Selenium 1 比WebDriver 支持更多的浏览器
WebDriver 可以实现向下兼容Selenium 1 的脚本
二、selenium支持的浏览器
IE6-10、FireFox大部分版本、Chrome、Safari、Opera、Andrioid 系统上的自带浏览器、IOS系统上自带浏览器、HtmlUnit的无界面实现。
三、selenium定位的八种方法
四、selenium的一些基础操作
4.1打开不同浏览器
System.setProperty("webdriver.chrome.bin", "chrome.exe硬盘位置");
System.setProperty("webdriver.chrome.driver", "chromedriver.exe驱动位置");
driver = new ChromeDriver();
action = new Actions(driver);
driver.manage().window().maximize(); //最大化浏览器
driver.get("https://hopper.symbio.com/");//打开的网页网址
4.2 对浏览器的操作
// 浏览器最大化 driver.manage().window().maximize(); driver.navigate().to("http://www.baidu.com"); // 刷新浏览器 driver.navigate().refresh(); // 浏览器后退 driver.navigate().back(); // 浏览器前进 driver.navigate().forward(); // 浏览器退出 driver.close();关闭当前窗口。driver.quit();退出驱动并关闭所有关联的窗口。 driver.quit();
4.3 模拟鼠标的操作
Actions action = new Actions(driver); //-------定义一个action对象 action.click(); action.click(searchBt); //-------单击操作 action.doubleClick().perform(); action.doubleClick(searchBt).perform(); //-------双击操作 action.clickAndHold().perform(); action.clickAndHold(searchBt).perform(); //-------悬停操作 action.contextClick().perform(); action.contextClick(searchBt).perform(); //-------右击操作 action.dragAndDrop(searchBt, searchBt).perform(); //-------拖拽操作 从一个元素拖拽到目标元素
4.4 对不同元素的操作
WebElement button = driver.findElement(By.id("tempo_menu"));//获取要操作那个元素
button.click(); //点击按钮元素
button.clear(); //清空input元素text内容
button.sendKeys("8"); //输入内容
delay(1); //延迟时间