怎样在WebDriver里判断WebElement元素对象是否存在
来源:互联网 发布:淘宝详情推荐宝贝代码 编辑:程序博客网 时间:2024/05/09 00:50
1.
selenium中如果去寻找元素,而元素不存在的话,通常会抛出NoSuchElementException 导致测试失败,但有时候,我们需要去确保页面元素不存在,才是我们正确的验收条件下面的方法可以用来判定页面元素是否存在
public boolean doesWebElementExist(WebDriver driver, By selector)
{
try {
driver.findElement(selector);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
2.
一般有这样的应用场合,例如我们要验证在一个网站是否登录成功,那么可以通过判断登录之后是否显示相应元素:
WebElement linkUsername = driver.findElement(By.xpath("//a[contains(text(),"+username+")]"));
return linkUsername.isDisplayed();
这一方法的前提是:该元素之前已经存在,仅仅需要判断是否被显示。
现在存在另一种场合,页面元素并不存在,即通过driver.findElement只能在超时之后得到NoSuchElementException的异常。
因此只好通过如下方法解决:
boolean ElementExist (By Locator )
{
try
{
driver.findElement( Locator );
return true;
}
catch(org.openqa.selenium.NoSuchElementException ex)
{
return false;
}
}
但这一方法仍然不理想,有这样两个问题:
1、这一方法不属于任何一个page页,因此需要额外进行框架上的变更以支持这些功能函数,否则就必须在每一个用到该函数的page类写一遍。
2、仍然需要等到超时才能得知结果,当需要频繁使用该函数的时候会造成相当的时间浪费。
3.
类似于seleniumRC中的isTextPresent 方法
用xpath匹配所有元素(//*[contains(.,'keyword')]),判断是否存在包含期望关键字的元素。
使用时可以根据需要调整参数和返回值。
详细xpath介绍请见:http://www.w3school.com.cn/xpath/用xpath匹配所有元素(//*[contains(.,'keyword')]),判断是否存在包含期望关键字的元素。
使用时可以根据需要调整参数和返回值。
- public boolean isContentAppeared(WebDriver driver,String content) {
- boolean status = false;
- try {
- driver.findElement(By.xpath("//*[contains(.,'" + content + "')]"));
- System.out.println(content + " is appeard!");
- status = true;
- } catch (NoSuchElementException e) {
- status = false;
- System.out.println("'" + content + "' doesn't exist!"));
- }
- return status;
- }
4. Xpath 多重判断
while(currentPageLinkNumber<MaxPage)
{
WebElement PageLink;
PageLink = driver.findElement(By.xpath("//a[@class = 'PageLink' and @title ='"+Integer.toString(currentPageLinkNumber+1)+"']"));
PageLink.click();
currentPageLinkNumber++;
//OtherOperation();
}
- 怎样在WebDriver里判断WebElement元素对象是否存在
- Selenium2_如何判断WebElement元素对象是否存在
- 用Selenium WebDriver判断WebElement是否存在时的问题
- webdriver判断元素是否存在
- js判断一个对象数组里是否存在某个元素
- js判断一个对象数组里是否存在某个元素
- WebDriver判断Alert是否存在
- 判断对象是否存在
- 判断对象是否存在
- 判断对象是否存在
- mssql里判断数据库对象是否存在的语句
- jQuery判断页面元素(对象)是否存在
- Select对象添加option元素时判断是否已经存在。
- jquery判断元素是否存在
- JQuery判断元素是否存在
- JQuery判断元素是否存在
- jQuery判断元素是否存在
- jquery 判断元素是否存在
- linux下top命令参数解释(转)
- Syslog服务器配置
- 念,心随君浅舞天涯
- 删除数据库时提示数据库正在被使用,无法删除(Cannot drop database databasename because it is currently in use)。
- 【Objective-C】iOS开发中常见的语句@synthesize obj=_obj的意义详解
- 怎样在WebDriver里判断WebElement元素对象是否存在
- web测试需要掌握的知识
- AspNetPager怎么用
- 关于self.用法的一些总结
- log4j控制台日志信息,根据不同级别,以颜色显示
- ZOJ2421 Recaman's Sequence
- 几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比
- 家乡的小河
- 差异表达分析软件GFOLD安装以及GSL安装问题