概述
大多数情况下,我们用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关键字语法格式实现了自动化测试实践,那也可以尝试基于表格式语法来实现一个试试。
持续不断码字努力中