zoukankan      html  css  js  c++  java
  • Python3+RobotFramework自动化测试五:元素定位

    Robot framework中元素的定位通过引入的selenium包,所以,假如我们学过selenium 的话,定位是一样的。
     
    id 和name 定位
    使用的前提是id和name的值在当页面上唯一。
    如上图是百度的搜索框和搜索按钮,搜索框name=wd,id=k,搜索按钮id=su
    在roboot framework中搜索框可以这样写:
    Input text 用于输入框的关键字,“robot framework学习”是要给输入框输入的内容。
    Input Text
    name=wd
    robot framework学习
    Input Text
    id=kw
    robot framework学习
    搜索按钮可以这样写:
    Click Button是按钮点击的关键字
    Click Button
    id=su
     
     
    xpath定位
    1、xpath的绝对路径
    例如百度搜索输入框:
    xpath = /html/body/div/div[2]/div[5]/div[1]/div/form/span[1]/input
    我们可以从最外层开始找,html下面的body下面的div下面的第4个div下面的....input标签。通过一级一级的锁定就找到了想要的元素
     
    2、xpath相对路径
    大多数时候,我们使用xpath相对路径
    2.1、元素本身
    xpath同样可以利用元素自身的属性:
    xpath=//*[@id="kw"]
    //表示某个层级下,*表示某个标签名,@id=kw表示这个元素有个id等于kw
    上述这种情况也可以指定标签名:
    xpath=//input[@id="kw"]
    元素本身,可以利用的属性就不只局限于id和name,如:
    xpath=//input[@type="text"]
    xpath=//input[@autocomplete="off"]
    需要注意的是,必须要保证这些元素在一个页面上可以唯一识别。
     
    2.2、找上级
    我们也可以通过找元素的上级属性来定位我们要找的元素
    xpath=//span[@id="s_kw_wrap"]/input
    或者
    xpath=//form[@id="form"]/span/input
     
    2.3、布尔值写法
    如果存在一种情况,同一个页面中id和name都不是唯一的,但是id和name组合之后是唯一的,就可以这样写:
    xpath = //input[@id="kw" and @name="wd"]
    xpath在robot framework中的写法:
    Input Text
    xpath=//*[@name="wd"]
    robot framework学习
    Input Text
    xpath=//span[@id="s_kw_wrap"]/input
    robot framework学习
    Input Text
    xpath=//form[@id="form"]/span/input
    robot framework学习
     
     
    CSS定位
    css基本选择器:
    序号
    选择器
    示例
    含义
    1
    .class
    .abc
    选择class="abc"的所有元素
    2
    #id
    #firstname
    选择id="firstname"的所有元素
    3
    *
    *
    所有元素
    4
    element
    p
    选择所有<p>元素
    5
    element,element
    div,p
    选择所有<div>和所有<p>元素
    6
    element  element
    div p 
    选择<div>内部所有<p>元素
    7
    element>element
    div>p
    选择父元素为<div>元素的所有<p>元素
    8
    element + element
    div + p
    选择紧接在<div>元素之后的所有<p>元素
    9
    [attribute]
    [target]
    选择带有target属性的所有元素
    10
    [attribute=value]
    [target=_blank]
    选择target="_blank"的所有元素
    11
    [attribute~=value]
    [title~=flower]
    选择title属性包含单词"flower"的所有元素
    12
    [attribute|=value]
    [lang|=en]
    选择lang属性值以“en”开头的所有元素
     
    同样用百度首页输入框的代码,看下CSS如何定位元素。
    id定位:
    css=#kw
    class定位:
    css=.s_ipt
    其他属性:
    css=[name=wd]
    css=[type=text]
    css=[autocomplete=off]
    父子定位:
    css=span>input
    根据标签定位:
    css=input
     
    Robot framework中的写法:
    Input Text
    css=#kw1
    robot framework学习
    input text
    css=.s_ipt
    robot framework学习
    input text
    css=[name=wd]
    robot framework学习
    以上都是css简单用法,更多请参考: http://www.w3school.com.cn/cssref/css_selectors.asp
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    【未完待续】MVC 之HTML辅助方法
    【部分】ASP.NET MVC5
    【总结】Github通过Git Bash上传文件到仓库
    【总结】委托和匿名委托的比较
    函数进化到Lambda表达式的三过程
    C# 常用linq、lambda表达式整理 【转】
    Lambda表达式用在什么地方?如何使用?
    【错误】fatal: destination path already exists and is not an empty directory. 错误及解决办法
    GIT更换连接方式
    Github中添加SSH key
  • 原文地址:https://www.cnblogs.com/daydayup-lin/p/12921770.html
Copyright © 2011-2022 走看看