Web自动化基础分享
一、Selenium 简介
Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。
与其他测试工具相比,使用 Selenium 的最大好处是: Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。
Selenium 测试可以在 Windows、Linux 上的 Internet Explorer、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。
RFS=Robot Framework + Selenium
二、环境搭建
1.安装Python,推荐使用ActivePython-2.7
2.安装wxPython2.8
3.pip install robotframework
4.pip install robotframework-ride
5.pip install robotframework-selenium2library
浏览器driver:
http://code.google.com/p/selenium/downloads/list
三、Firebug安装
四、RFS基本使用
1.元素定位
①定位中的注意事项:
有时,需要先进入一个frame或iframe再定位一个元素,这样效率更高,可以使用如下两个关键字。
进入一个frame或iframe
Select Frame | locator
回到最上层frame或iframe
Unselect Frame
②定位中的能手:Xpath
XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
XPath 是 XML 路径语言,用来查询 XML 文档里中的节点。主流的浏览器都支持 Xpath。Xpath 语言是基于 XML 文档的树结构,并提供了浏览树的能力,通过多样的标准来选择节点。
http://www.w3school.com.cn/xpath/
通过绝对路径定位元素
xpath=/html/body/form/input
通过相对路径定位元素
xpath=//input
使用索引来定位元素
xpath=//input[2]
使用属性值定位元素
xpath=//input[@id=’username’]
xpath=//input[@id=’username’][@name=’username’]
xpath=//input[@id=’username’ and @name=’username’]
xpath=//input[@id=’username’ or @name=’username’]
使用属性名称定为元素
xpath=//input[@name]
使用部分属性值定位元素
使用值来匹配任意属性及元素
//input[@*=’username’]
五、RFS基本使用(Selenium2Library)
1.Selenium2Lib提供了与浏览器交互的关键词:
Open Browser 打开浏览器
Maximize Browser Window 最大化浏览器窗口
Input Text 输入字符
Input Password 输入密码
Go To 前进
Go Back 返回
Reload Page 重新加载页面
Close Window 关闭窗口
Close Browser 关闭浏览器
Close All Browsers 关闭所有浏览器
2.浏览器操作
点击
Click Button | locator
Click Element | locator
Click Image | locator
Click Link | locator
Double Click Element | locator
在IE中,如果遇到Click不起作用,可以用如下命令来替代:Press Key | <id> | \\13或\\10
输入
Selenium2Lib提供了和其他界面元素交互的关键词:
Element
Focus 聚焦
Simulate 模拟时间触发
Open Context Menu 打开
List
Select All From List
Select From List
Unselect From List
Checkbox
Select Checkbox
Unselect Checkbox
Selenium2Lib提供了和其他界面元素交互的关键词:
Radio Button
Select Radio Button
Form
Submit Form
Choose File (For File Upload)
默认情况下, Selenium2会自动等待页面加载完成
对于页面AJAX可以使用如下等待页面的关键词:
Wait For Condition | condition | timeout=None | error=None
Wait Until Page Contains | text | timeout=None | error=None
Wait Until Page Contains Element | locator | timeout
获取页面信息:
Page
Get Title
Get Location
Get Source
Get Matching Xpath Count
Element
Get Element Attribute
Get Value
Link
Get All Links
Table
Get Table Cell
List
Get List Items
Get Selected List Label
Get Selected List Labels
Get Selected List Value
Get Selected List Values
Alert Should Be Present
Get Alert Message
Choose Cancel On Next Confirmation
Choose Ok On Next Confirmation
Confirm Action