Robot Framework自动化测试---Selenium API

一、浏览器驱动
通过不同的浏览器执行脚本。
|
Open Browser |
Htpp://www.xxx.com |
chrome |
浏览器对应的关键字:
|
firefox |
FireFox |
|
ff |
|
|
internetexplorer |
Internet Explorer |
|
ie |
|
|
googlechrome |
Google Chrome |
|
gc |
|
|
chrome |
|
|
opera |
Opera |
|
phantomjs |
PhantomJS |
|
htmlunit |
HTMLUnit |
|
htmlunitwithjs |
HTMLUnit with Javascipt support |
|
android |
Android |
|
iphone |
Iphone |
|
safari |
Safari |
备注:
要想通过不同的浏览打开URL地址,一定要安装浏览器相对应的驱动。如chrome 的驱动:
chromedriver.exe 等。
浏览器默认为空时启动FireFox。
二、关闭浏览器
关闭浏览器
|
Close Browser |
关闭当前的浏览器。
关闭所有浏览器
|
Close All Browsers |
关闭所有打开的浏览器和浏览器缓存重置。
三、浏览器最大化
|
Maximize Browser Window |
使当前打开的浏览器全屏。
四、设置浏览器宽、高
|
Get Window Size |
800 |
600 |
以像素为单位,第一个参数800表示宽度,第二个参数600表示高度。
五、文本输入
|
Input Text |
Xpath=//* [@] |
输入信息 |
Xpath=//* [@] :表示元素定位,定位文本输入框。
六、点击元素
|
Click Element |
Xpath=//* [@] |
Xpath=//* [@] :表示元素定位,定位点击的元素。
七、点击按钮
|
Click Button |
Xpath=//* [@] |
Xpath=//* [@] :表示元素定位,定位点击的按钮。
八、注释
注释1:
|
Comment |
注释说明 |
注释2:
|
# 注释说明 |
除了使用Comment 关键字进行注释外,Robot framework框架是基于python语言开发的,所以提供了python语言的注释“#”方式。
九、固定时间休眠
|
Sleep |
42 |
|
|
Sleep |
1.5 |
|
|
Sleep |
2 minutes 10 seconds |
Sleep表示执行到当前行固定休眠多长时间,以“秒”为单位。
42表示42秒;
1.5 表示1.5秒;
2 minutes 10 seconds 表示2分10秒。
十、等待元素出现在当前页面
|
Wait Until Page Contains Element |
Xpath=//* [@] |
42 |
error |
Xpath=//* [@] :表示元素定位,这里定位出现的元素
42 : 表示最长等待时间。
Error : 表示错误提示,自定义错误提示,如:“元素不能正常显示”
十一、获取title
|
Get Title |
获得当前浏览器窗口的title 信息。
这里只获取title 是没有意义的,我们通常会将获取的title 传递给一个变量,然后与预期结果进行比较。从而判断当前脚本执行成功。
十二、获取文本信息
|
Get Text |
Xpath=//* [@] |
Xpath=//* [@] : 定位文本信息的元素。
十三、获取元素属性值
|
Get Element Attribute |
id=kw@name |
id=kw@name : id=kw 表示定位的元素。@nam 获取这个元素的name属性值。
十四、cookie处理
获取cookie
|
get cookies |
获得当前浏览器的所有cookie 。
获得cookie值
|
get cookie value |
Key_name |
Key_name : key_name 表示一对cookie中key的name 。
删除cookie
|
delete cookie |
Key_name |
删除key为name 的cookie信息。
删除所有cookies
|
delete all cookies |
删除当前浏览器的所有cookie。
添加cookie
|
add cookie |
Key_name |
Value_name |
添加一对cooke (key:value)
十五、声明变量
|
${a} |
Set Variable |
hello |
定义变量a为hello。
|
${a} |
${b}= |
Set Variable |
hello |
world |
定义变量a为hello ,b为world 。
十六、日志(输出)
|
${a} |
Set Variable |
Hello World |
|
log |
${a} |
在测试报告中输出a变量的值hello word。

十七、获得浏览器窗口宽、高
|
${width} |
${height} |
get window size |
|
log |
${width} |
|
|
log |
${height} |
获得浏览浏览器窗口宽、高,通过log 将宽高,打印到报告中。

十八、验证
|
open browser |
http://www.baidu.com |
chrome |
|
${title} |
Get Title |
|
|
should contain |
${title} |
百度一下,你就知道 |
Open Browser 通过chrome打开百度首页。
Get Title 获得浏览器窗口的titile ,并赋值给变量${title}
Should Contain 比较${title}是否等于“百度一下,你就知道”。

如果item1 不包含 item2 一次或多次,那么失败。
十九、表单嵌套
|
Select Frame |
Xpath=//* [@] |
|
|
Unselect Frame |
Select Frame 进入表单,Xpath=//* [@] 表示定位要进入的表单。
Unselect Frame 退出表单。
二十、下拉框选择
|
Unselect From List By Value |
Xpath=//* [@] |
vlaue |
Xpath=//* [@] 定位下拉框;
Vlaue 选择下拉框里的属性值。
二十一、If分支语句
|
${a} |
Set variable |
2 |
||
|
${b} |
Set variable |
5 |
||
|
run keyword if |
${a}>=1 |
log |
a大于1 |
|
|
... |
ELSE IF |
${b}<=5 |
log |
b小于等于5 |
|
... |
ELSE |
log |
上面两个条件都不满足 |
首先定义两个变量a ,b 分别为 2 和5 。
If 判断 a 大于等于1 ,满足条件log 输出 “a大于1 ”;
不满足上面的条件,接着else if 判断b小于等于5 ,满足条件log 输出 “b小于等于5”;
上面两个条件都不满足,else log输出“上面两个条件都不满足”。
备注:注意sele if 和else前面的三个点点点(...)
二十二、for 循环语句
循环1
|
:FOR |
${i} |
in range |
10 |
|
log |
${i} |
查看结果:

循环变量i 从0 到9 循环10次。
循环2
|
@{a} |
create list |
aaa |
bbb |
|
:FOR |
${i} |
in |
@{a} |
|
log |
${i} |
@{a} 定义为一个字符串列表。
通过in 可遍历非整型(in range)

说明:
Log 、if 分支,for 循环并非selenium关键字库的提供的方法,是由BuiltIn包提供。
Robot Framework自动化测试---Selenium API的更多相关文章
- robot framework框架selenium API
RIDE面板认识 selenium API 关键字 语法 参数 备注 Open Browser url Chrome 用不同的浏览器打开url,需要下载不同的浏览器驱动,默认火狐 Close Brow ...
- Robot Framework自动化测试的应用
Robot Framework自动化测试的应用(一) 最近尝试用Robot Framework代替之前全部采用python实现测试case,开始对Robot Framework进行些了解学习. 1. ...
- Robot Framework自动化测试环境准备(一)
Robot framework是诺西(NSN)开源的一套自动化测试工具,在通信设备自动化测试中很实用,它基于Python开发,主要模拟NMS网管配置数据到网元NODE,并读取配置看配置是否生效. == ...
- Robot Framework 自动化测试
Robot Framework 自动化测试 RIDE 是 Robot Framework 测试数据的编辑器.它使测试用例的创建.运行.测试项目的组织可以在图形界面下完成. 通过 RIDE 去学习和使用 ...
- Robot Framework自动化测试框架核心指南-如何使用Java编写自定义的RobotFramework Lib
如何使用Java编写自定义的RobotFramework Lib 本文包括2个章节 1. Robot Frdamwork中如何调用java Lib库 2.使用 java编写自定义的Lib 本文作者为: ...
- Robot Framework自动化测试框架核心指南-如何做好自动化测试平台框架的设计
自动化测试如果需要能高效快速的支撑软件项目的测试,项目的快速迭代以及上线,除了以上我们介绍的需要许多的Lib来支持以及需要高效的去编写自动化测试案例外,还需要一个好的自动化测试框架平台来支撑我们的自动 ...
- Robot Framework自动化测试(三)--- 封装系统关键字
之前对robotframework-ride了解的不多,后来知道了引入Selenium2Lirary库后可以做web UI自动化测试,但发现和python没啥关系,今天学习了封装系统关键字算是和pyt ...
- Robot Framework 自动化测试 Selenium2Library 库 用法
Robot Framework自动化测试Selenium2Library库详细用法 一.浏览器驱动 通过不同的浏览器执行脚本. Open Browser Htpp://www.xxx.com ...
- 三年磨一剑,robot framework 自动化测试框架核心指南,真正讲透robot framework自动化测试框架(笔者新书上架)。
序 关于自动化测试的工具和框架其实有很多.自动化测试在测试IT行业中扮演着越来越重要的角色,不管是在传统的IT行业还是高速发展的互联网行业或是如今的大数据和大热的人工智能领域,都离不开测试,也更加离不 ...
随机推荐
- JAVA中的泛型(Generic)
Java泛型(Generic)简介 泛型是jdk1.5版本以后推出来的,表示类型参数化,让java能更具有动态性一些,让类型能变成参数传递. 要我自己感觉的话,泛型本身没啥用,跟反射在一起用,就体现出 ...
- 区别String、StringBuilder、Stringbuffer的总结
1.三者在执行速度上: StringBuilder > StringBuffer > String 2. String:不可变长字符串 StringBuilder : 为可变长字符串 St ...
- html active属性
源代码 <div class="col-md-3"> <div class="list-group"> <a href=" ...
- ArcGIS Server集群布署
ArcGIS Server集群布署 准备如下的4台机器: 计算机名 IP 布署软件 说明 VMWIN2008ENSS1 192.168.1.111 ArcGIS for Server VMWIN2 ...
- 【Python】Java程序员学习Python(七)— 文本类详解(字符串、str)
如果一个女孩子喜欢看龙猫,那么请珍惜她,呵护她 任何一门语言,字符串总是最基本也是最需要掌握的一个变量,想想入门的Hello World,输出的就是字符串. 官方文档:https://docs.pyt ...
- @transient加在属性前的作用
我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable ...
- Hive的介绍及安装
简介 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件 映射为一张数据库表,并提供类 SQL 查询功能. 本质是将 SQL 转换为 MapReduce 程序. Hive组件 ...
- 用tableView实现的一种加载数据的布局
用tableView实现的一种加载数据的布局 此博文是应朋友之邀解决他的业务逻辑问题 效果: 素材: 源码: ImageCell.h 与 ImageCell.m // // ImageCell.h / ...
- 模板(template)包含与继承
Django 模板查找机制: Django 查找模板的过程是在每个 app 的 templates 文件夹中找(而不只是当前 app 中的代码只在当前的 app 的 templates 文件夹中找). ...
- consul日常操作命令
#开发模式运行agent consul agent -dev #查看consul 集群成员 consul members [-detailed] members命令的输出基于gossip协议,并最终一 ...