一、简介
- 具备良好的可扩展性,支持关键字驱动、
- 数据驱动 可以同时测试多种类型的客户端或者接口
- 可以进行分布式测试执行
- 主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)
二、特性--robotframework
- 易于使用,采用表格式语法,统一测试用例格式
- 重用性好,可以使用现有的关键字创建新的关键字
- 支持变量 支持创建基于数据驱动的测试用例
- 结果报告和日志采用HTML格式,易于阅读 提供标签以分类和选择将被执行的测试用例
- 是一款自动化测试框架,或者说是自动化测试平台,而并非是测试工具 功能全面,支持WEB测试(Selenium),Java GUI测试
- 易于扩展,提供简单的API,用户可以自定义基于Python或Java的测试库 易于集成,提供了命令行接口和基于XML的输出文件
- 易于与版本管理集成,做到测试持续集成的效果
三、安装指南--Windows
在安装Robot Framework之前需要安装python环境,我们可以从https://www.python.org/downloads/下载并安装python。
下载https://www.python.org/ftp/python/3.6.8/python-3.6.8.exe
双击python-3.6.8.exe进行安装,选择默认选项。
特别要注意勾上Add Python 3.6 to PATH
,然后点“Install Now”即可完成安装。
如果安装时没有勾上Add Python 3.6 to PATH,则需要手动添加环境变量《高级系统设置->高级->环境变量》
检查python是否成功安装在CMD窗口:where python
检查是否在CMD窗口成功安装了pip:where pip
在线更新pip python -m pip install --upgrade pip
安装Robot Framework
在CMD中运行:pip install robotframework
是否成功安装在CMD窗口:where robot
安装 Library For Robot Framework
在CMD中运行:
pip install robotframework-seleniumlibrary==4.3.0
pip install requests
pip install robotframework-requests
pip install wxpython
pip install pygments
注意:从3.0版本开始,Selenium2Library被重命名为SeleniumLibrary,这个项目的存在主要是为了帮助过渡。
安装 Robot Framework Editors Ride
在CMD中运行: pip install robotframework-ride
是否成功安装在CMD窗口:where ride.py
输入pip list,如果成功了会显示已安装的插件
打开终端,输入ride.py,能够正常显示,表示已经安装成功了
创建桌面图标
四、编写UI测试需要下载浏览器驱动程序
Driver infomation:
Firefox Driver:geckodriver : https://github.com/mozilla/geckodriver/releases
Chrome Driver:chromedriver
IE Driver:IEDriverServer
Edge Driver:MicrosoftWebDriver
Opera Driver:operadriver
注意:建议使用Firefox浏览器进行Selenium测试。
将下载好的Firefox驱动程序geckodriver.ext复制到Python的起始位置。
五、创建新项目
1. 首先在菜单栏中单击File - > New Project。(在这里选择“目录”,因为我们要创建一个文件夹来存储用例)
2. Right click on Project “Csp-E2E” -> New Directory
3. Create New Suite
4. Create New Test Case
5. Test Case Settings :
Documentation: describing the use case
setup: Used to set up initialization work, to be executed before each test case
teardown: The method is called after each test method is executed. This method is used to clean up the test cases after execution, such as executing "close browser" to close the browser.
TimeOut: Used to set the timeout period of the use case. Such as "1 min 10s", "2 hours", etc.
Template: Specify keywords used by the template。
Tags : Used to add tags to use cases