RF元素定位(二)

元素定位工具:

Firebug---火狐插件

FirePath---Firebug插件

FireFinder---Firebug插件

定位示例

RF关键字定位内容
Input Textid=kw1robotframework
Input Textname=wdrobotframework
Click Buttonid=su1 
Input Textcss=[name=wd]rf
Input Textxpath = //span[@class=’bg s_ipt_w’]/input 

 

Xpath定位

 定位讲解
Xpath绝对路径xpath=/html/body/div[1]/div[4]/span[1]/input 
Xpath相对路径xpath=//*[@id='kw1']某个层级下,属性为id=kw1的元素
 xpath=//input[@type='text']标签名为input的且属性type=text的元素
 xpath = //form[@id=’form1’]/span/input根据容易定位的上级元素开始找
 xpath = //input[@id=’kw1’ and @name=’wd’]同时拥有两个属性的标签
 xpath = //input[@id=’kw1’ or @name=’wd’]拥有属性A的标签或者拥有属性B的标签

CSS定位

选择器例子讲解
.class.intro选择class=”intro“的所有元素
#id#firstname选择id="firstname"的所有元素
**选择所有元素
elementp选择所有<p>元素
element,elementdiv,p选择所有<div>元素和所有<p>元素
element elementdiv p选择 <div> 元素内部的所有 <p> 元素
element>elementdiv>p选择父元素为 <div> 元素的所有 <p> 元素
element+elementdiv+p选择紧接在 <div> 元素之后的所有 <p> 元素,相邻关系
[attribute][target]选择带有 target 属性所有元素
[attribute=value][target=_blank]选择 target="_blank" 的所有元素
[attribute~=value][title~=flower]选择 title 属性包含单词 "flower" 的所有元素
[attribute|=value][lang|=en]选择 lang 属性值以 "en" 开头的所有元素

 

selenium2library的API

关键字输入的值操作平台其他 备注
Open Browser完整的urlchrome  

chrome:googlechrome/gc/chrome

IE:internetexplorer/ie

firefox:ff/firefox

Opera:opera

Android:android

Iphone:iphone

Safari:safari

要想通过不同的浏览打开URL地址,一定要安装浏览器相对应的驱动。如chrome 的驱动:

chromedriver.exe 等。浏览器默认为空时启动FireFox

 Close Browser     关闭浏览器
 Close All Browsers     关闭所有浏览器
 Maximize Browser Window     使当前打开的浏览器全屏
 Get Window Size 800 600   以像素为单位,第一个参数800表示宽度,第二个参数600表示高度
 Input Text Xpath=//* [@] 输入信息   文本输入
 Click Element Xpath=//* [@]   点击元素 
 Click Button Xpath=//* [@]   点击按钮
choose filexpath=//* [@]C:\\Do\\bug5.png  上传图片文件
 Comment 注释说明   注释一
 # 注释说明    注释二 
 Sleep42    

固定休眠多长时间,以“秒”为单位

2 minutes 10 seconds 表示2分10秒

 Wait Until Page Contains Element Xpath=//* [@] 42error 

 Xpath=//* [@] :表示元素定位,这里定位出现的元素,42表最大等待时间

error表示自定义错误提示,如:元素不能正常显示

 Get Title     获得当前浏览器窗口的title 信息
 Get Text Xpath=//* [@]    获取文本信息,定位文本信息的元素
 Get Element Attribute id=kw@name    获取元素元素属性值,id=kw 表示定位的元素。@nam 获取这个元素的name属性值
 get cookies     获得当前浏览器的所有cookie
 get cookie value Key_name    获取cookie的值,key_name 表示一对cookie中key的name
 delete cookieKey_name     删除cookie,删除key为name 的cookie信息
 delete all cookies     删除当前浏览器的所有cookie
add cookieKey_nameValue_name  添加一对cooke (key:value)
${a}Set Variablehello  定义变量a为hello
${a}${b}Set Variablehelloworld定义变量a为hello ,b为world 
log${a}   在测试报告中输出a变量的值
${width}${height}get window size  获得浏览浏览器窗口宽、高,通过log 将宽高,打印到报告中
log${width}    
log${height}    

selenium2library的API高级

     备注
验证     
open browserhttp://www.baidu.comchrome  Open Browser 通过chrome打开百度首页
${title}Get Title   Get Title 获得浏览器窗口的titile ,并赋值给变量${title}
Should Contain${title}百度一下,你就知道  Should Contain 比较${title}是否等于“百度一下,你就知道”
嵌套     
Select FrameXpath=//* [@]    进入表单,Xpath=//* [@] 表示定位要进入的表单
Unselect Frame    退出表单
下拉框     
Unselect From List By ValueXpath=//* [@]vlaue  定位下拉框,Vlaue 选择下拉框里的属性值
IF分支语句     
${a} Set variable2  定义两个变量a ,b 分别为 2 和5 
${b}Set variable5   
run keyword if${a}>=1loga大于1 If 判断 a 大于等于1 ,满足条件log 输出 “a大于1 ”
...ELSE IF${b}<=5logb小于等于5不满足上面的条件,接着else if 判断b小于等于5 ,满足条件log 输出 “b小于等于5”
...ELSElog上面两个条件都不满足 上面两个条件都不满足,else  log输出“上面两个条件都不满足”
for循环语句     
:FOR${i}in range10 循环变量i 从0 到9 循环10次
 log${i}  输出到log
for循环语句     
@{a}create listaaabbb 

@{a} 定义为一个字符串列表。通过in 可遍历非整型(in range)

:FOR${i}in@{a} Log 、if 分支,for 循环并非selenium关键字库的提供的方法,是由BuiltIn包提供
 log${i}   

 关键字驱动

如“open browser” 就是一个关键字。从底层去看它就是一个通过编程去现实的一个方法。

def  open_browser(url,browser):
#通过browser找到相应的浏览器驱动,调用浏览器,借助python的httplib、urllib模块将url传递给浏览器。从而实现open brwoser 的目的。
上面的伪代码表述的“关键字”的底层其实还是程序定义的方法。
把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。
定位单个元素定位多个元素
find_element_by_idfind_elements_by_name
find_element_by_namefind_elements_by_xpath
find_element_by_xpath 
find_element_by_link_text 
find_element_by_partial_link_text 
find_element_by_tag_name 
find_element_by_class_name 
find_element_by_css_selector 

size 获取元素的尺寸
text 获取元素的文本
get_attribute(name) 获取属性值
location 获取元素坐标,先找到要获取的元素,再调用该方法
page_source 返回页面源码
driver.title 返回页面标题
current_url 获取当前页面的URL
is_displayed() 设置该元素是否可见
is_enabled() 判断元素是否被使用
is_selected() 判断元素是否被选中
tag_name 返回元素的tagName
 
资源:http://www.cnblogs.com/eastmount/p/4810690.html

转载于:https://www.cnblogs.com/zz27zz/p/7339295.html

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值