selenium环境配置
安装配置JDK
下载jar包各版本下载地址后解压至文件夹
下载chrome对应webdriver
webdriver版本对应
selenium使用或使用maven
新建project后若要使用则需导入
右击项目–>build Path–>add external–>选择本地的selenium解压位置(包括lib中的所有jar包)
工作原理
selenium工作原理
初始化service,通过webdriver启动浏览器驱动chromeDriver.exe
浏览器驱动会打开对应的浏览器,打开过程是向浏览器驱动程序发送http请求,浏览器驱动解析请求,打开浏览器,并返回sessionid,如果需要对浏览器操作需要携带此id
浏览器绑定特定端口【查看】,把启动的浏览器作为webdriver的远程服务器
所有的selenium操作,浏览器会解析该操作,并执行相应操作
优势
多浏览器 IE/谷歌/火狐
开源
浏览器内运行,一般不用再额外设置cookie,模仿用户操作
多平台 java/eclipse
api齐全
元素定位
八大定位
id
xPath By.xpath("//*[@id=\"signup-form\"]/div[2]/input")
name By.name("email")
tagName <input ></input>
linkText
className class ="group"
partialLinkText 类似linkText 但只截取部分字段
cssSelector
等待
Thread.sleep(2);//等两秒 强制等待
WebDriverWait wait2 =new WebDriverWait(driver, 5); //显示等待 特定页面进行等待
wait2.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.partialLinkText("后端")));
//隐式等待 在规定时间内要等待页面所有元素都加载出来才会进行下一步 生命周期为整个driver都起作用,只需要设置一次全局的,一般不用
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
常见元素处理
输入框操作:
driver.findElement(By.name("email")).sendKeys("15838256983");
driver.findElement(By.name("email")).isDisplayed();//元素是否用户可见
driver.findElement(By.name("email")).clear();//清空输入框
driver.findElement(By.name("email")).getAttribute("type");//查看元素的某些属性
TestNG
testng数据驱动的两种方法
testng.xml配置
使用Dataprovider
Dataprovider详解
testng.xml配置详情
testng详情
class 运行不运行
method 运行/不运行
package 详情
Maven
1、使用maven的pom文件驱动testng.xml注意事项
2、报maven update project error ----problems
项目右击–maven–update project–默认点击ok
3、多次操作造成的环境问题
对环境重置
project—clean—默认点击clean
maven clean
pom.xml文件–run as --maven clean
HTML基础
请求
请求行 请求头 空行 请求体
响应