Robotframework与xpath

Robotframework与xpath

一、安装及使用

软件要求: Firefox

插件: 先装Firebug再装firepath

插件安装:

装好之后按F12,开启firebug,选择firepath,使用指针定位界面元素,获取xpath

二、xpath

讲解

学习之前一定要先学习html,不用精通,但要了解

绝对路径(只包含/) 相对路径(包含//)

1、 xpath绝对路径:

xpath = html/body/div[2]/div/div[1]/div/div/div[1]/ul/li[2]/ul/li[2]/a/span

我们可以从最外层开始找,html 下面的 body 下面的 div 下面的第 2 个 ul 下面的第2个li下面的a下面的span。通过 一级一级的锁定就找到了想要的元素。

2、 xpath相对路径:

绝对路径的用法往往是在我们迫不得已的时候才用的。大多时候用相对路径更简便。 //div[@id='ui-view']/div/div[2]/div[1]/section/header/h2

3、定位元素:

a) 可以利用元素自身的属性:

Xpath = //*[@id=’kw1’]

//表示某个层级下,*表示某个标签名。@id=kw1 表示这个元素有个 id 等于 kw1 。 当然,一般也可以制定标签名: Xpath = //input[@id=’kw1’]

b) 元素本身,可以利用的属性就不只局限为于 id 和 name ,如: Xpath = //input[@type=’text’]

Xpath = //input[@autocomplete=’off’]

但要保证这些元素可以唯一的识别一个元素。

具体分析:

1、 text():表示文本值 xpath讲解:

//div 查找当前页面下所有标签为

div的元素

//div[@id='ui-view'] 查找当前页面下所有标签为div,同时id为ui-view //div[@id='ui-view']//h2 查找id为ui-view的div下所有h2标签 //div[@id='ui-view']//h2[text()='角色管理'] 查找id为ui-view的div下所有h2标签,h2的文本值为“角色管理”

2、last():最后一个

//div[@id='ui-view']/div/section/div/div[2]/div/div/div/div/div[1]/ul/li[last()]/div/span[3] 定位li标签的最后一个(这里是定位栏目管理的最后一个频道)

3、Xpath中的@是获取属性

在html中,这个“体育新闻”是用span标签的文本值表示,但是在span中还有很多属性,如下图中的class,title,ng-class等,这些属性的值可以用@获取。

在robotframework中:

${getname} Get Element Attribute

//div[@id='ui-view']/div/section/div/div[2]/div/div/div/div/div[1]/ul/li[last()]/div/span[3]@title

获取元素属性使用关键字Get Element Attribute, Locator(定位)必须是 xpath 加上@属性。

3、 特殊情况:

preceding-sibling 选取当前节点之前的所有同级节点 following-sibling 选取当前节点之后的所有同级节点

三、Robotframework常用关键字

红色关键字必须掌握 操作:

Wait Until Element Is(not) Visible等待元素可见(不可见) Wait Until Page Contains Element 等待页面包含元素 Click Element 点击元素 Click Button 点击按钮

Input Text 在元素中输入文本(作用于输入框)

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4