selenium 学习笔记

来源:互联网 发布:mysql认证考试 编辑:程序博客网 时间:2024/06/06 00:49

一   关于selenium

    selenium是ThroughtWorks公司推出的强大的Web功能测试工具系列,主要包括以下组件:

    1.Selenium core:支持DHTML的测试案例(效果类似数据驱动测试), 它是selenium IDE和Selenium RC的引擎。

    2.Selenium IDE:FireFox的一个插件,支持脚本录制。

    3.Selenium RC:Selenium Remote Control。

    4.Selenium Grid:允许同事并行,在不同的环境中运行多个测试任务,提高web应用测试的效率。

二 selenium的使用

    1.xPath的使用 在编写selenium案例时需要用到xPath,xPath是XML的查询语言。(下面xPath的介绍转载自http://www.cnblogs.com/jianjialin/archive/2009/02/01/1382056.html)

<catalog>

   <cd country="USA">

      <title>Empire Burlesque</title>

      <artist>Bob Dylan</artist>

      <price>10.90</price>

   </cd>

   <cd="UK">

      <title>hide your heart</title>

      <artist>Bonnie Tyler</artist>

      <price>9.90<price>

   <cd>

   <cd county="USA">

      <title>Greateast Hits</title>

      <artist>Dolly Parton</artist>

       <price>9.99</price>

   </cd>

</catalog>

定位节点

xml是树状结构,类似档案系统内数据的结构,xPath也类似档案系统的路径命名方式。不过xPath是一种pattern, 可以选出XML档案中路径符合某个模式的所有节点。例如选出catalog下的cd中所有的price:

/catalog/cd/price

如果xPath的开头是一个斜线(/)代表这是绝对的路径。如果开头是两个斜线(//)表示文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来。以下语句会选出文件中所有叫做cd的元素:

//cd

选择未知的元素

使用星号(*)可以选择未知的元素。下面这个语法会选出/catalog/cd的所有子元素:

/catalog/cd/*

以下语法会选出所有catalog的子元素中,包含有price作为子元素的元素:

/catalog/*/price

以下的语法会选出有两层父节点,叫做price的所有元素:

/*/*/price

以下的语法会选出文件中的所有元素:

//*

选择分支

使用中括号可以选择分支。以下的语法从catalog的子元素中取出第一个叫做cd的元素。xPath的定义中没有第0元素:

/catalog/cd[1]

以下语法选择catalog中的最后一个cd元素:(xPath没有定义first()这种函数,用[1]取第一个元素):

/catalog/cd[last()]

以下的语法选出含有price子元素的所有/catalog/cd元素:

/catalog/cd[price]

以下的语法会选出price元素的值等于10.90的所有/catalog/cd元素:

/catalog/cd[price=10.90]

以下的语法选出price元素的值等于10.90的所有/catalog/cd元素的price元素:

/catalog/cd[price=10.90]/price

选择一个以上的路径:

使用or操作数(|)就可以选择一个以上的路径。例如:

/catalog/cd/title|catalog/cd/artist

选择所有的title以及artist元素:

//title|//artist

选择所有title以及artist以及price元素:

//title|//artist|//price

选择属性

在xPath中 ,除了选择元素以外,也可以选择属性。属性都以@开头。

选择county的属性:

//@county

选择所有含有county这个属性的cd元素:

//cd[@county]

选择含有属性的所有cd元素:

//cd[@*]

选择出county属性值为UK的cd元素:

//cd[@county="UK"]

 三 selenium API 分类

Action:对当前状态进行操作,失败时停止操作。

Assertion: 检验是否有产生正确的值,通常有两种验证方式:

1 Assert: 失败时停止测试

2 Verify: 失败不中断测试

Element Location: 指定HTML中的元素并定位

Patterns: 用于元素匹配



1 0