Robot Framework | 02 从抛弃RIDE开始创建你的RFS测试
时间:2022-05-07
本文章向大家介绍Robot Framework | 02 从抛弃RIDE开始创建你的RFS测试,主要内容包括目标、准备、YAML语法示例、小结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
概述
大多数情况下,我们用RobotFramework时,一般基于其图形界面的RIDE来编辑、管理、执行用例。
今天我们分享下基于非编辑器模式的RobotFramework 关键字自动化测试。
目标
我们实现以下功能:
- 启动浏览器
- 访问百度
- 输入"开源优测",单击"百度一下"按钮
- 关闭浏览器
- 输出报告
准备
我们一起看下需要哪些准备工作:
需要安装的一些库:
- 安装RobotFramework,命令为:
pip install robotframework -U
- 安装最新的selenium3, 命令为:
pip install selenium -U
- 安装SeleniumLibrary,命令为:
pip install --pre --upgrade robotframework-seleniumlibrary
- 安装Selenium2Library, 命令为:
pip install --upgrade --pre robotframework-selenium2library
注意: 在最新的Robotframework里,Selenium2Library从版本3.0开始已经被重命名为SeleniumLibrary。
YAML语法示例
这里我默认大家对RobotFramework有一定的基础,即:对关键字有一定的了解。我们先看一下基于yaml语法来实现目标功能,如下:
*** Settings ***
# 使用SeleniumLibrary库实现百度搜索测试
Library SeleniumLibrary
*** Variables ***
# 变量定义
${baidu} http://www.baidu.com # 百度首页
${browser} Chrome # 浏览器
${searchWord} 开源优测 # 搜索词
${search_input} id=kw # 搜索框ID
${search_btn} id=su # 百度一下按钮
*** Test Cases ***
# 测试用例
启动浏览器
Open Browsers
百度搜索测试
Input Search Word
Click Search Button
断言验证搜索结果标题
Assert Search Result
关闭浏览器
Quit Search
*** Keywords ***
# 自定义关键字
Open Browsers
Open Browser ${baidu} ${browser}
Title Should Be 百度一下,你就知道
Input Search Word
Input Text ${search_input} ${searchWord}
Click Search Button
Click Button ${search_btn}
Sleep 5s
Assert Search Result
Title Should Be 开源优测_百度搜索
Quit Search
Close All Browsers
将上述内容保存至search_baidu_demo.robot文件中,执行以下命令:
pybot search_baidu_demo.robot
运行日志如下图:
其中:
- output.xml 为原始的测试结果记录
- log.html 为测试过程日志
- report.html 为html格式的测试报告
也截图看看报告:
小结
本文基于文本编辑器,利用Robotframework关键字语法格式实现了自动化测试实践,那也可以尝试基于表格式语法来实现一个试试。
- Java后端实现图片压缩技术(赞赏功能已开通,欢迎测试,噗~!)
- 我是如何得知10W+的访问量多来自工作日的 | 塔秘
- 使用百度UMeditor富文本编辑器,修改自定义图片上传,修改源码
- 【技术专栏】OpenVirteX体系结构之组件(一)
- 洞察 | 深圳数据分析师的职业前景如何?爬完拉勾数据给你分析 (附代码和过程)
- 【温故】金融数据挖掘之朴素贝叶斯
- 为你的网站加上SSL,可以使用HTTPS进行访问
- LeeCX - 开源后台管理系统简单介绍
- fastdfs 图片服务器 使用java端作为客户端上传图片
- Shiro系列(3) - What is shiro?
- 干货|用python抓取摩拜单车API数据并做可视化分析(源码)
- 干货|机器学习:Python实现聚类算法之K-Means
- 美团点餐—listview内部按钮点击事件
- C4C和CRM里获取当前登录用户分配的Organization Unit信息
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 D Carneginon
- 地表最强的MySQL安装一键式安装,信不信你下完我就给你装好!附各种Mysql安装失败的解决办法(什么你安装失败了?快来看这个)
- The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 C Buy Watermelon
- The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 B so easy
- 萌新不看会后悔的C++基本类型总结(二)
- The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 A Who is better?
- 树的重心
- PostgreSQL 13:索引并行vacuum
- 『数据库』震惊,某博主为吸引眼球拿出压箱底SQL总结,如果你没看那就吃亏了!(超级详细的SQL基础,你还不会的话就别学数据库了)
- 萌新不看会后悔的C++基本类型总结(一)
- 2019 ICPC 银川网络赛 D. Take Your Seat (疯子坐飞机问题)
- 2019 ICPC 银川网络赛 H. Fight Against Monsters
- 状态压缩DP(大佬写的很好,转来看)
- 2019 ICPC 银川网络赛 F-Moving On (卡Cache)
- 树形结构--二叉树的遍历算法应用(十九)