Selenium2Library+ride学习笔记
一、环境部署
1.安装python2.7编译环境、ride环境以及Selenium2Library环境,环境部署可参见前面几节。
2.启动RIDE编译环境,导入Selenium2Library库。 
3. 执行F5,可查看Selenium2Library自带的关键字(Keyword)。

二、常用关鍵字解释
1. open browser 打开浏览器 ,Arguments:url | browser=firefox | alias=None | remote_url=False | desired_capabilities=None | ff_profile_dir=None ]
2. input text 在输入框中输入内容,Arguments:[ locator | text ]
locator参数表示元素定位方式,text表示输入的内容
3. click button 点击按钮,Arguments:[ locator ]
4. Get title 获取窗口标题,不带参数
5. close browser 关闭浏览器,不带参数
如下图应用:

三、关键字封装
1. 将selenium2Library关键字二次封装,得到与业务相关的关键字。如下图所示:
1)打开浏览器:

2)搜索内容:

3)调用二层关键字:
第一步:导入资源文件

第二步:调用关键字

四、元素定位(locator)
元素定位应该是自动化测试的核心。要想操作一个对象,首先应该识别这个对象。一个对象就像是一个人一样。他会有各种的特征(属性)。
1. webdriver提供了一系列的对象定位方法,常用的有以下几种:
id 控件id方式定位
name 控件名称方式方法定位
class name 控件类名方式方法定位
link text 控件链接方式定位
tag name 控件tag name方式定位
xpath 控件xpath方式定位
css selector 控件css謶定位
2. id和name定位
id和name是我们最最常用的定位方式,因为大多数控件都有这种属性。

3. tag name和class name定位
上图上,tag name 是:<input>,input就是一个标签。class name就是一个类名称。class="s_ipt"
4. css和xpath定位
css和xpath定位,功能十分的强大。
css是一种语言。它用来找描述Html和xml文档的表现。css使用选择器来为页面元素绑定属性。
xpath是一种xml文档中定位元素的语言。因为HTML可以看作是xml的一种实现。所以我们可以通过xpath方式来定位元素。
如通过chrome浏览器自带的元素定位可以获取控件的css path和xpath

5. link定位
有时候不是一个输入框也不是一个人按钮。而是一个文字链接。我们可以通过link.
Selenium2Library+ride学习笔记的更多相关文章
- <老友记>学习笔记
这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
随机推荐
- ural 1126 Magnetic Storms
http://acm.timus.ru/problem.aspx?space=1&num=1126 #include <cstdio> #include <cstring&g ...
- Delphi判断进程是否存在(使用CreateToolhelp32Snapshot)
program Project2; uses windows,TLHelp32; function FindProcess(AFileName:string):boolean; var hSnap ...
- GitHub 如何基於 Node.js 和 Chromium 開發 Atom?
看到回答里, 多数都没有回答到点子上, 还有些给了非常主观的意见而没有给出实际结论和分析过程. 题主的问题有四个: 1. Github 如何基于 Node.js 和 Chromium 开发 Atom? ...
- mybatis mapper namespace
http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#insert_update_and_delete org.apache.ibatis.excep ...
- 关于mysql的自增
http://my.oschina.net/zimingforever/blog/136599 http://flandycheng.blog.51cto.com/855176/280224 http ...
- json与jsonp ajax
今天在网上找了一下资料,发现这篇文章总结得好,果断转了:http://blog.csdn.net/superhosts/article/details/9057301
- FILTER 执行次数
select count(*) from SAVJ_ATOMJOURBAK where ((list_flag='1' and prt_flag='0') and acct_no not in (se ...
- 【转】C语言文件操作解析(三)
原文网址:http://www.cnblogs.com/dolphin0520/archive/2011/10/07/2200454.html C语言文件操作解析(三) 在前面已经讨论了文件打开操作, ...
- [Angular 2] Async Http
Async Pipe: The Asynce pipe receive a Promise or Observable as input and subscribes to the input, e ...
- 大数据笔记11:MapReduce的运行流程
1.基本概念 (1)Job & Task (2)JobTracker (3)TaskTracker