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 在元素中输入文本(作用于输入框)