Robot FrameWork基础学习(四) 元素定位
元素定位
对于web自动化测试来说,就是操作页面的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素。
Selenium2Library提供了非常丰富的定位器:
虽然提供了这么多种定位方式,并不是要求我们每一种都要学会,平时主要用的定位方式:id, name,xpath, css
1、id和name定位:
假如把一个元素当作一个的话,id和name可以看作一个人的身份证号和姓名,当然,这些属性值是否唯一要看前端工程师如何设计了。
如百度输入框可以根据id或name进行定位
input text id=kw hello,world!
input text name=wd hello,reobotframework
click button id=su
2、xpath定位:
xpath是一种在xml文档中定位元素的语言,因为html可以看做xml的一种实现,所以selenium用户可以使用这种强大语言在web应用中定位元素。
xpath定位元素办法:
1)xpath的绝对路径:
xpath = /html/body/div[1]/div[4]/div[2]/div/form/span[1]/input
我们可以从最外层开始找,html 下面的body 下面的div 下面的第4 个div 下面的....input 标签。通过一级一级的锁定就找到了想要的元素。
2)xpath的相对路径:
绝对路径的用法往往是在我们迫不得已的时候才用的。大多时候用相对路径更简便。
A.xpath元素本身:
xpath同样可以利用元素自身的属性,如xpath=//*[@id='kw']
//表示某个层级下,* 表示某个标签名。@id=kw 表示这个元素有个id 等于kw 。
当然也可以定制标签名,如:Xpath = //input[@id=’kw1’]
元素本身,可以利用的属性不局限为id和name,如:
Xpath = //input[@type=’text’]
Xpath = //input[@autocomplete=’off’]
但要保证这些元素可以唯一的识别一个元素。
B.找上级
如:
元素的上级属性为:
<form id="form1" class="fm" action="/s" name="f1">
<span class="bg s_ipt_wr">
<input id="kw1" class="s_ipt" type="text" maxlength="100" name="wd" utocomplete="off">
xpath = //span[@class='bg s_ipt_wr']/input
C:布尔值写法
如果一个人的姓名不是唯一的,身份证号也不是唯一的,但是同时叫张三并且身份证号为123 的人却可以唯一的确定一个人。那么可以这样写:
Xpath = //input[@id=’kw1’ and @name=’wd’]
Robot FrameWork基础学习(四) 元素定位的更多相关文章
- Robot Framework基础学习(一)
Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用 变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...
- Robot Framework自动化测试二(元素定位)
前言 在学习的过程中,可能会误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加 ...
- Robot Framework 教程 (2) - 页面元素定位
上一篇文章中,简单模拟了一个baidu搜索并截图的过程,在搜索过程中,我们需要对搜索框.搜索按钮进行定位.本篇文章主要介绍一下具体的定位方法. 我们的脚本如下: *** Settings *** Li ...
- Robot Framework基础学习(五)
Selenium2Library 常用关键字介绍 关于Selenium2Library 的关键字,我们可以参考:http://rtomac.github.io/robotframework-selen ...
- Robot FrameWork基础学习(二)
在Robot Framework中,测试套件(Test Suite)主要是存放测试案例,而资源文件(Resource)就是用来存放用户关键字. 内部资源:Resource 外部资源: External ...
- 学习使用Robot Framework自动化测试框架-web元素定位
转:http://blog.csdn.net/u012145166/article/details/50342569 1.name和id 其中使用到了name和id定位.但有时候由于开发人员的疏忽或者 ...
- Robot Framework基础学习(六)
网页弹窗 参考:http://blog.csdn.net/Allan_shore_ma/article/details/65629246 常见的网页弹窗,有如下几类: alert ajax ifram ...
- Robot FrameWork基础学习(三)
一.关键字(Keyword)根据架构的区分可分为以下三层结构: 底层关键字.公共层关键字.特性关键字. 底层关键字一般与最底层的代码在关系,为上层公共关键字和特性关键字提供接口. 公共层关键字:一般是 ...
- Robot Framework语法学习(一)
Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用 变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...
随机推荐
- 在mac下搭建java开发环境
刚刚从windows系统转到使用mac系统.感觉不是特别熟悉,须要一定的适应时间. 以下简介一下mac下搭建主要的java开发环境. 1.安装jdk 安装jdk1.7后,发现不须要进行环境变量配置,直 ...
- PHP百分号转小数
<?php $a = "20.544545%"; echo (float)$a/100; ?>
- 九度OJ 1082:代理服务器 (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1871 解决:574 题目描述: 使用代理服务器能够在一定程度上隐藏客户端信息,从而保护用户在互联网上的隐私.我们知道n个代理服务器的IP地 ...
- VC调用Delphi DLL
别的没什么,是一定可以调用成功的.但是意外的是,ShowMessage函数在DLL里也可以轻易被调用.此外,Delphi里的var 相当于VC里的引用,需要在函数原型里正确标识,否则传递普通变量甚至常 ...
- php 身份证号码获取星座和生肖
发布:thatboy 来源:Net [大 中 小] 本文介绍下,php用身份证号码获取星座和生肖的方法,一个简单的php实例,从身份证号码中取得星座与生肖信息,有兴趣的朋友参考研究下吧.本 ...
- java集合讲解干货集
文章都来自网络,收集后便于查阅. 1.Java 集合系列01之 总体框架 2.Java 集合系列02之 Collection架构 3.Java 集合系列03之 ArrayList详细介绍(源码解析)和 ...
- mvn 创建的项目 导入到eclipse
首先,我的工具版本如下: jdk: java version "1.6.0_10-rc2"; maven: apache-maven-3.1.0; eclipse: MyEclip ...
- wampserver发布常见问题
1 之前使用wamp在本地通过localhost访问PHP网站,一直很正常,最近想要发布至服务器,需要域名解析,发现PHP网站无法使用ip登陆,比如输入ip+端口地址,会报错:you don't ha ...
- CSS那个背景图片的坐标怎么设置?怎么计算的?
background:url(images/hh.gif) no-repeat -10px 0;},作用是移动背景的位置. 背影图片的左上角相对当前元素左上角的坐标. 右为X轴正半轴, 下为Y轴正半轴 ...
- Apache-SimpleEmail 简单应用
比JavaMail使用方法要直接,jar包只需要在JavaMail的基础上添加commons-email-1.4.jar即可. 代码: // QQ邮箱发送邮件 SimpleEmail simpleEm ...