Selenium WebDriver 自动化测试学习记录分享
前期准备:
需要的工具:selenium WebDriver 、FireBug、FirePath、seleniumIDE
自动化适用于:需求变更慢、周期长、脚本可复用
版本信息:seleniumRC>seleniumIDE>seleniumWebDriver>seleniumGrid 分布式自动化工具
浏览器配置:火狐浏览器版本需要低一点
环境搭建:
Java环境
Selenium WebDriver java testNG环境
1、需要安装Java的jdk
2、环境变量配置:
(1)新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.7.0_05"(即JDK的安装路径)
(2)编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3)新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”
浏览器启动:
(1)firefox浏览器启动方法:
Web Driver driver=new FirefoxDriver();//实例化firefox对象
String url=“http://www.baidu.com”;//打开页面的地址
driver.get(url);//打开页面
driver.quit();//关闭页面
(2)Chrome浏览器启动方法:
注:需要自己在网上下载chrome浏览器驱动
System.setProperty(“webdriver.chrome.driver”, “D:\JDK\chromedriver_win32\chromedriver.exe”);
driver=new ChromeDriver();//实例化chrome浏览器
String url=“httP://www.baidu.com”;//打开地址
driver.get(url);//启动
driver.quit();
(3)IE浏览器启动方法:
注:需要下载ie浏览器驱动包
System.setProperty(“webdriver.IE.driver”, “D:\JDK\IEdriver_win32\IEdriver.exe”);
driver=new InternetExploreDriver();//实例化ie浏览器
String url=“httP://www.baidu.com”;//打开地址
driver.get(url);//启动
driver.quit();
SeleniumWebDriver八大元素定位:
(1)By.Id()
WebDriver driver;
driver=new FirefoxDriver();
String url=“http://baidu.com”;
driver.get(url);
//等待5秒
driver.manage().timeouts().implicitlyWait(5000, TimeUnit.SECONDS);
driver.findElement(By.id(“kw”)).sendKeys(“selenium”);
(2)By.ClassName()
WebDriver driver;
driver=new FirefoxDriver();
String url=“http://baidu.com”;
driver.get(url);
//等待5秒
driver.manage().timeouts().implicitlyWait(5000, TimeUnit.SECONDS);
driver.findElement(By.className(“s_ipt”)).sendKeys(“根据页面元素中的class名称定位”);
(3)By.Name()
driver.findElement(By.name(“wd”)).sendKeys(“页面根据name数据查询数据”);
(4)By.TagName()
driver.findElement(By.tagName(“input”)).sendKeys(“根据标签进行定位元素”);
(5)By.LinkText()
driver.findElement(By.linkText(“贴吧”)).sendKeys(“根据链接标签定位”);
(6)By.PartialLinkText()
driver.findElement(By.PartialLinkText(“贴”)).sendKeys(“根据链接标签定位”);
(7)By.XPath()
driver.findElement(By.XPath(".//*[@id=‘kw’]")).sendKeys(“根据链接标签定位”);
(8)By.CSS()
driver.findElement(By.CSS("#kw")).sendKeys(“根据链接标签定位”);
(9)table
String str = "粉黛";
String str1 = "湛蓝";
WebDriver driver;
//实例化firefox对象
driver = new FirefoxDriver();
//防止html文件存放地址路径
String url = "F:\\aa.html";
//打开文件
driver.get(url);
//找到table元素
WebElement table = driver.findElement(By.tagName("table"));
//找到table元素下面的tr元素信息
List<WebElement> trs = table.findElements(By.tagName("tr"));
//循环遍历tr
for (WebElement tr : trs) {
//找到tr中的td元素
List<WebElement> tds = tr.findElements(By.tagName("td"));
//循环遍历td元素
for (WebElement td : tds) {
//通过td.getText()得到td元素中的文本;文本信息相同的情况下,打印td信息,否则信息提示:“不匹配,存在错误信息”
if (td.getText().equals(str) || td.getText().equals(str1)) {
System.out.println(td.getText());
} else {
System.out.println("不匹配,存在错误信息");
}
}
}
}