TA的每日心情 | 慵懒 2017-7-25 15:33 |
---|
签到天数: 12 天 连续签到: 1 天 [LV.3]测试连长
|
我用的是selenium+java搭的框架,在脚本运行时总会时不时出错,主要是找不到元素、元素不可点击和执行错误的请求,研究了一下一般是由于网络原因或者是服务器响应慢导致的,具体表现为一步操作执行完之后,在页面还没有完全加载好时脚本就开始执行下一步 的操作了。在定位元素时我已经加了两种等待了,还是会经常出这种问题,希望大神给点意见,我的定位元素的封装代码如下(定位方式与定位路径已经用键值方式封装起来了):
public WebElement Find_Element(final String key){
final String type=yamlUtils.getKeyMap().get(key).get("type");
final String value=yamlUtils.getKeyMap().get(key).get("value");
try {
WebElement element=(new WebDriverWait(dr,15)).until(
new ExpectedCondition<WebElement>(){
public WebElement apply(WebDriver d){
return dr.findElement(yamlUtils.GetBy(type,value));
}
}
);
WebDriverWait wait =new WebDriverWait(dr,10);
wait.until(ExpectedConditions.elementToBeClickable(dr.findElement(yamlUtils.GetBy(type,value))));
report.log("通过定位方式By."+type+"定位到元素"+value);
return element;
}
catch (Exception e){
e.printStackTrace();
report.error("无法通过定位方式By."+type+"定位到元素"+value);
ScreenPhotoShot();
return null;
}
}
|
|