zoukankan      html  css  js  c++  java
  • RF元素定位(二)

    元素定位工具:

    Firebug---火狐插件

    FirePath---Firebug插件

    FireFinder---Firebug插件

    定位示例

    RF关键字 定位 内容
    Input Text id=kw1 robotframework
    Input Text name=wd robotframework
    Click Button id=su1  
    Input Text css=[name=wd] rf
    Input Text xpath = //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"的所有元素
    * * 选择所有元素
    element p 选择所有<p>元素
    element,element div,p 选择所有<div>元素和所有<p>元素
    element element div p 选择 <div> 元素内部的所有 <p> 元素
    element>element div>p 选择父元素为 <div> 元素的所有 <p> 元素
    element+element div+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 完整的url chrome    

    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 file xpath=//* [@] C:\Do\bug5.png     上传图片文件
     Comment  注释说明       注释一
     # 注释说明         注释二 
     Sleep 42       

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

    2 minutes 10 seconds 表示2分10秒

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

     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 cookie Key_name         删除cookie,删除key为name 的cookie信息
     delete all cookies          删除当前浏览器的所有cookie
    add cookie Key_name Value_name     添加一对cooke (key:value)
    ${a} Set Variable hello     定义变量a为hello
    ${a} ${b} Set Variable hello world 定义变量a为hello ,b为world 
    log ${a}       在测试报告中输出a变量的值
    ${width} ${height} get window size     获得浏览浏览器窗口宽、高,通过log 将宽高,打印到报告中
    log ${width}        
    log ${height}        

    selenium2library的API高级

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

    @{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_id find_elements_by_name
    find_element_by_name find_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
  • 相关阅读:
    JAVA课上课后问题总结(2019.09.20)
    JAVA课后问题汇总(第三次课)
    java课后作业:记录创建对象数
    《程序员修炼之道》读后感(一)【第二章与第三章】
    [java web]小学四则运算出题系统
    apache连接数
    isql导出表到文本
    iis6上的FTP有缓存
    Perl 标量的操作符
    apachetomcat
  • 原文地址:https://www.cnblogs.com/zz27zz/p/7339295.html
Copyright © 2011-2022 走看看