目录
Robot framework介绍与安装
Robot framework是什么?
什么是自动化测试框架?
Robot framework特性
Selenium简介
RFS架构
环境搭建(在线安装)
selenium支持的定位方式
iframe/frame元素定位
XPath
XPath格式
Selenium Library
SeleniumLibrary关键字
浏览器驱动driver
常用关键字
点击
输入
SeleniumLibrary提供了和其他元素交互的关键词
加载/等待
获取页面信息
用例分层逻辑
封装流程图
自下而上进行封装
交互层
页面层
流程层
流程调用
导入资源包
练习源码
Robot framework是什么?
robotframework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)
什么是自动化测试框架?
定义一种统一的方式来书写和组织测试用例(测试步骤,测试数据与期待返回值);
控制测试用例地执行过程;
生成测试报告和测试日志;
Robot framework特性
易于使用,采用表格式语法,同意测试用力格式;
重用性高,可以利用现有关键字来组合新关键字;
支持变量;
支持创建基于数据驱动的测试用例
结果报告和日志采用HTML格式,易于阅读;
提供标签以分类和选择将被执行的测试用例;
平台、应用无关;
功能全面,支持WEB测试(Selenium)、java GUI测试;
易于扩展,提供了简单API,用户可以自定义的基于python或者java的测试库;
易于集成,提供了命令行接口和基于XML的输出文件;
易于与版本管理集成;
Selenium简介Selenium是一个用于web应用程序测试的工具
Selenium包括:IDE、Remote Control(RC)、Grid、Web Driver(WD)
我们这里用的Web Driver(WD)
RFS = Robot framework + Selenium(WD)
RFS架构 环境搭建(在线安装)
ActivePython-2.7
wxPython2.8
pip install robotframework
pip install robotframework-ride
pip install robotframework-selenium2library
浏览器driver:
http://code.google.com/p/selenium/downloads/list
元素定位 selenium支持的定位方式最好以id来定位,如果没有id可以使用Assign Id To Element关键字来为元素分配一个id
Strategy
Example
Description
identifler
Click Element | identifler=my_element
Matches by@id or @name attribute
id
Click Element | id=my_element
Matches by@id attribute
name
Click Element | name=my_element
Matches by@name attribute
xpath
Click Element | xpath=//div[@id=''my_element]
Matches with arbitrary XPath expression
dom
Click Element | dom=document.images[56]
Matches with arbitrary DOM express
link
Click Element | link=My link
Matches anchor elements by their link text
css
Click Element | css=div.my_class
Matches by CSS selector
jquery
Click Element | jquery=dic.my_class
Matches by jQuery/sizzle selector
sizzle
Click Element | sizzle=div.my_class
Matches by jQuery/sizzle selector
tag
Click Element | tag=div
Matches by HTML tag name
有时,需要先进入一个frame或iframe在定位一个元素,这样效率更高,可以使用乳腺关键字
进入一个frame或iframe
Select frame | locator
回到最上层frame或iframe
Unselect frame
XPath
XPath是门在XML文档中查找信息的语言。XPath用于在XML文档通过元素和属性进行导航
XPath是XML路径语言,用来查询XML文档中的节点。主流的浏览器都支持Xpath,因为HTML页面在DOM中表示为XHTML文档。Xpath语言是基于XML文档的树结构,并提供了浏览树的能力,通过多样的标准来选择节点
http://www.w3school.com.cn/xpath
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]
使用部分属性值定位元素
语法
例子
描述
starts-with{}
input[starts-with(@id,'user')]
匹配id以user开头的元素
ends-with{}
input[ends-with(@id,'name')]
匹配id以name结尾的元素
contains{}
input[contains(@id,'name')]
匹配id的值包含name的元素
使用值来匹配任意属性及元素
//input[@*='username']
Selenium Library SeleniumLibrary关键字Open Browser (打开浏览器)
Maxinmize Browser Window (最大化)
Go To (前进)
Go Back (后退)
Reload Page (刷新)
Close Window (关闭当前打开的d出窗口)
Close Browser (关闭当前窗口)
Close All Browsers (关闭所有打开的浏览器并重置浏览器缓存)
浏览器驱动driverselenium默认的是Firefox浏览器,其他浏览器需要自己的driver
常用关键字点击
Click Button | locator
Click Element | locator
Click Image | locator
Click link | locator
Double Click Element | locator
有时在IE中,Click不起作用,可以用如下命令来替代
Press Key |
Input Password | locator | text
Input Text | locator | text
有时会出现输入之后界面没有的问题,可以使用如下命令来触发页面更新
Press Key |
Element
Focus聚焦
Simulate 模拟时间触发
Open Context Menu 打开
List
Select All From List
Select From List (如:下拉列表 )
Unselect From List
Checkbox
Select Checkbox (如:复选框选中)
Unselect Checkbox (去除指定复选框选中)
Radio Button
Select Radio Button(如:单选框/选择性别)
Form
Submit Form
Choose File(For File Upload)
加载/等待默认情况下,Selenium会自动等待也买你加载完成
对于页面ajax可以使用如下等待页面的关键字
Wait For Condition | condition | timeout=None | error=None
Wait Until Page Contains | text | timeout=None | error=None
Wait Unit Page Contains Element | locator | timeout
一种调试时可以使用,但是不应该留下来
Sleep x
Sleep 关键字是robot framework built in library提供的
http://robotframework.googlecode.com/hg/doc/libraries/Builtln.html?r=2.6.1
获取页面信息
Page
Get Title
Get Location
Get Source
Get Matching Xpath Count
Element
Get Element Attribute
Get Value
Get Tex(Added By Adam Wu)
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
用例分层逻辑 封装流程图 自下而上进行封装交互层
页面层
流程层
流程调用
导入资源包
练习源码
「练习源码」「阿里云盘」阿里云盘分享
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)