您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
Selenium WebDriver 介绍
作者:网络转载 发布时间:[ 2014/6/23 11:08:31 ] 推荐标签:Selenium WebDriver 功能测试工具

  7.Selenium-WebDriver API详解

  7.1获取Web页面

  我们第一件要做的事是通过WebDriver取得Web页面的控制权,一般情况下使用get方法

  driver.get("http://www.google.com");

  在某些情况下,比如操作系统和浏览器的穿插组合,WebDriver有可能不会等待Web页面加载完成,这种情况下WebDriver会返回错误或者直接运行下一步操作。为了保证程序的健壮性,你需要等待页面中某个元素加载完成后再进行下一步操作,请参考Explicit and Implicit Waits。

  7.2定位UI元素

  我们可以通过WebDriver实例或者WebElement类来定位UI元素。我们为每种编程语言都提供了两种方法:“Find Element”和“Find Elements”。第一种方法返回的一个WebElement,找不到则抛出异常。第二个方法返回一个WebElement链表(List),在找不到任何DOM元素的情况下会返回空的链表。

  Find方法会使用类似探测器的类,类名叫做By。下面列举By的一些常用方法:

  By ID

  当我们定位一个UI 元素,这个是有效也是好的方法。不过这个方法不是的,有的前端开发在设计UI元素时会遗漏ID或者使用动态ID,这两种情况下都要避免使用这个方法。这时候使用获取class名称方法比By ID更合适。

  示例:如何使用该方法定位元素

...
  WebElement element = driver.findElement(By.id("coolestWidgetEvah"));

  By Class Name

  在这种场景下,我们引用DOM元素的属性。实际情况是很多元素都有一样的Class Name,因此找到多个有相同Class Name的元素,比找到第一个拥有这个Class Name的元素来的更重要。

  示例:如何使用该方法定位元素
 
Cheddar
Gouda
  List cheeses = driver.findElements(By.className("cheese"));

  By Tag Name

  DOM元素Tag的名称。

  示例:如何使用该方法定位元素

  WebElement frame = driver.findElement(By.tagName("iframe"));

  By Name

  找到与Name属性相同的Input元素。

  示例:如何使用该方法定位元素

  WebElement cheese = driver.findElement(By.name("cheese"));

  By Link Text

  找到与Text属性精确匹配的超链接。

  示例:如何使用该方法定位元素

  cheese

  WebElement cheese = driver.findElement(By.linkText("cheese"));

  By Partial Link Text

  找到与Text属性模糊匹配的超链接。

  示例:如何使用该方法定位元素

  search for cheese

  WebElement cheese = driver.findElement(By.partialLinkText("cheese"));

  By CSS

  这个方法名称意味着它是一个CSS探测器。前提是浏览器默认支持这种方法,建议根据W3C的标准文档构建CSS选择器。如果浏览器不支持CSS选择器,可以使用Sizzle。IE6,7和FireFox3.0是使用Sizzle作为CSS查询引擎。

Selenium WebDriver 介绍(3)
发表于:2014-04-08来源:博客园作者:思勉点击数:1584 标签:
注意不是所有浏览器都使用同样的CSS选择器表达式,有些CSS可能只在某一个版本中生效。 示例:如何使用该方法定位元素 milk cheese WebElement cheese = driver.
  注意不是所有浏览器都使用同样的CSS选择器表达式,有些CSS可能只在某一个版本中生效。

  示例:如何使用该方法定位元素  

milkcheese
  WebElement cheese = driver.findElement(By.cssSelector("#food span.dairy.aged"));

  By XPath

  当有需要时,WebDriver还可以使用浏览器自带的XPATH。对于那些不支持XPATH的浏览器,我们提供了WebDriver特有的实现方式。请确保熟悉XPATH在不同的引擎中的区别,否则会导致一些不可预料的问题。

上一页12345下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd