美文网首页
RobotFramework 入门二

RobotFramework 入门二

作者: Canon_2020 | 来源:发表于2019-06-28 15:24 被阅读0次
1、元素定位

Selenium2Library 提供了非常丰富的定位器。
在这里只介绍4 种定位方式,id、name、xpath 和css。
id 和name:非常简单且实用,
xpath 和css:强大,几乎可以满足所有定位需求。

  1. 元素定位——XPath

XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。

元素定位——Xpath绝对路径

  1. XPath 是一种在XML 文档中定位元素的语言。因为HTML 可以看做XML 的一种实现,所以selenium用户可以使用这种强大语言在web 应用中定位元素。
  2. xpath 的绝对路径:
    xpath = /html/body/form/div/div[1]/div/div/ul/li[1]/input
    我们可以从最外层开始找,通过一级一级的锁定就找到了想要的元素
  1. xpath 的相对路径:
    【绝对路径的用法往往是在我们迫不得已的时候才用的。大多时候用相对路径更简便】
    Xpath 同样可以利用元素自身的属性:
    Xpath = //[@id=’kw1’]
    //表示某个层级下,
    表示某个标签名。@id=kw1 表示这个元素有个id 等于kw1 。
    当然,一般也可以制定标签名:
    Xpath = //input[@id=’kw1’]
    元素本身,可以利用的属性就不只局限为于id 和name ,如:
    Xpath = //input[@type=’text’]
    Xpath = //input[@autocomplete=’off’]
    但要保证这些元素可以唯一的识别一个元素。

布尔值写法:
如果一个人的姓名不是唯一的,身份证号也不是唯一的,但是同时叫张三并且身份证号为123 的
人却可以唯一的确定一个人。那么可以这样写:
Xpath = //input[@id=’kw1’ and @name=’wd’]
可以and ,当然也可以or :
Xpath = //input[@id=’kw1’ or @name=’wd’]
但or 的实际意义不太。我们一般不需要说,找的人名字或者叫张三,或者身份证号是123 也可以。

  1. 元素定位——CSS

CSS(Cascading Style Sheets)是一种语言,它被用来描述HTML 和XML 文档的表现。CSS 使用选择器来为页面元素绑定属性。这些选择器可以被selenium 用作另外的定位策略。

通过class 属性定位:
css=.s_ipt
css=.bg s_btn
csscss_selector()方法用于CSS 语言定位元素,点号(.)表示通过class 属性来定位元素。

通过id 属性定位:
css=#kw
css=#su
井号(#)表示通过id 属性来定位元素。

通过标签名定位:
css=input
在CSS 语言中用标签名定位元素不需要任何符号标识,直接使用标签名即可,但我们前面已经了解到
标签名重复的概率非常大,所以通过这种方式很难唯一的标识一个元素。

通过父子关系定位:
css=span>input
上面的写法表示有父亲元素,它的标签名叫span,查找它的所有标签名叫input 的子元素。

通过属性定位:
css=input[autocomplete='off']
css=input[maxlength='100']
css=input[type='submit']
在CSS 当中也可以使用元素的任意属性,只要这些属性可以唯一的标识这个元素。

组合定位:
我们当然可以把上面的定位策略组合起来使用,这样就大大加强了元素的唯一性。

2、变量赋值

在robot Framework 中通过“Set variable”关键字来定义变量,如:


Catenate(连接字符)的用法:


  1. 列表
    列表有两种创建形式,分别使用不同的关键字打印 log


  1. 字典
    字典是一种常见的存放数据的形式,Create Dictionary 关键字用于创建字典。


Get Dictionary Items 关键字获取字典中的key 和value。
Get Dictionary Keys 关键字获取字典中的key。
Get Dictionary Values 关键字获取字典中的value。
Get From Dictionary 关键字获取字典中的key 对应的value

  1. 循环
    3.1 整型循环:


3.2 字符串循环:


3.3 跳出循环:


3.4 分支


相关文章

网友评论

      本文标题:RobotFramework 入门二

      本文链接:https://www.haomeiwen.com/subject/yvoscctx.html