1,显式等待与隐式等待用法,区别学习
为了提高脚本的稳定性,我们需要在脚本中增加等待时间
第一种:强制等待
Thread.sleep():固定休眠时间设置,Java的Thread类里提供了休眠方法sleep,导入包后就能使用
sleep()方法以毫秒为单位
Thread.sleep(3000);
----执行到此时不管什么就固定的等待三秒之后再接着执行后面的操作
第二种:隐式等待方法
implicitlyWait()方法比sleep()方法智能,sleep()方法只能在一个固定的时间等待,而implicitlyWait()可以在一个时间范围内等待,称为隐式等待
隐式等待采用全部设置,也就是说,你所有的findElement方法都会隐式等待10s
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
----此方法针对执行脚本的所有对象,等待10秒
第三种:显示等待方法
WebDriverWait()
就是明确的要等到某个元素的出现或者是某个元素的可点击等条件,等不到,就一直等,除非在规定的时间之内都没找到,那么就跳出Exception
1、每500毫秒扫描界面是否出现元素
2、针对单一元素
3、可以设置超时时间
WebDriverWait wait=new WebDriverWait(driver, 10);
WebElement wl = wait.until(new ExpectedCondition<WebElement>() {
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.cssSelector(".red_box"));
}
});
----在规定时间内等待 在10秒的范围内 出现.red_box元素就往下执行,如果10秒过后还没出现就跳出
2,定位元素:
a,定位父级路径下,子级元素;
b,iframe用法
c,缺省超链接文本定位元素
格式:<element href= "value">PartialLinkText</element>此处text为变量
3,浏览器页面大小,调整
有时候为了测试需要,会调整浏览器窗口的大小,这里提供几种设置浏览器大小的方法。
1 窗口最大化
直接调用maximize()方法即可:
//设置窗口最大化
driver.manage().window().maximize();
2 指定设置窗口大小
首先要给点你要设置窗口的宽度和高度
//设置窗口的 宽度为:800,高度为600
Dimension d = new Dimension(800, 600);
然后去执行这个设置:
driver.manage().window().setSize(d);
3 指定窗口在屏幕中出现位置
先确定浏览器在屏幕出现的坐标
//设置窗口出现在屏幕上的坐标
Point p = new Point(500, 300);
//执行设置
driver.manage().window().setPosition(p);
4,List报错
解决方式:java.awt.list更换为java.util.list