文章目录
前言
大家好,我是洋子,今天给大家分享一下Robot Framework自动化测试框架的使用教程,Robot Framework是一个可扩展
、关键字驱动
的测试自动化框架,可用于做接口、UI自动化,并且可以使用 Python 或者Java 去编写测试用例依赖的lib库,是一款非常强大的测试框架
看了网上大量文章,基本都是使用Robot Framework的RIDE来进行测试,RIDE即为Robot的图形化编辑界面,操作起来并不是很方便,所以本文将教大家直接使用Python
和Robot命令
来进行自动化测试,便于用例执行和扩展,大厂基本都在这样用,便于和CI(持续集成)流水线结合执行测试用例
在编写用例的基础之上,我还会教大家设计、搭建自动化测试框架,满足企业级的自动化测试需求
本期教程包括以下部分内容
- Robot Framework 环境搭建
- Robot Framework 关键字参数定义
- 搭建自动化测试框架
- 编写测试用例
- 执行测试用例
- 生成测试报告
环境搭建
Robot Framework是用Python实现的,也可以在Jython(JVM)和 IronPython(.NET)解释器上运行。在安装框架之前,一个明显的前提条件是安装所需的解释器
本文只介绍使用Python去安装Robot Framework框架以及使用Python去编写robot框架的自定义参数、lib库等,因为这是最主流也是最方便的使用方式
下载、安装Python 3.x
Python 2 在2020年已停止维护,所以建议大家都安装Python 3.x 版本
Unix & Linux 安装 Python
- 安装方法参考文章 https://www.linuxprobe.com/linux-centos7-python3.html
- 安装方法参考文章 https://blog.csdn.net/L_15156024189/article/details/84831045
Windows 安装 Python
- 打开官网下载https://www.python.org/downloads/windows/ 下载安装包
- 安装方法参考文章 https://www.runoob.com/python/python-install.html
MAC 安装 Python
- 方法1: 打开官网 https://www.python.org/downloads/mac-osx/ 下载最新版安装包
- 方法2: 使用 homebrew 安装python3 环境,homebrew安装方法见https://blog.csdn.net/u011035397/article/details/115862286,安装完毕后执行命令
brew install python3
即可
安装robotframework库
安装robotframework,最简单的方式是通过pip安装
pip install robotframework
安装requests库
python的requests库,用来发送HTTP请求,做接口自动化
测试需要使用到
pip install requests
在mac 命令行下使用pip命令 前面 还需要加sudo命令,否则会提示无权限
安装selenium2library库
安装 selenium2library库,用来做Web UI自动化
测试(若只使用robot框架做接口自动化,此库可不安装)
pip install robotframework-selenium2library
到此为止,Robot Framework 框架以及所需要的依赖环境全部安装完毕
关键字参数
前言我们提到Robot Framework是关键字驱动
的测试自动化框架,这个关键字可以理解成Robot框架的语法,掌握了关键字的含义,我们才能更好的编写测试用例,在Robot框架中有两类关键字,一类是系统自带的关键字,另一类是自定义关键字。当系统关键字不满足我们的测试需求时,就可以基于Python自定义关键字,然后使用自定义的关键字去编写测试用例
系统关键字
为方便讲解,首先创建三个list变量:list_a、list_b、list_c;以及两个scalar变量变量:string和name。本节知识可先跳过,后面使用到做参考即可
@{
list_a} create list 1 a ${
21} 21 12
@{
list_b} set variable 1.0 a ${
21} 21 21
@{
list_c} create list
${
string} set variable pengliwen is in hangzhou
${
name} set variable plw
备注:以下提供的用例都是断言成功
- should contain 、 should not contain 与should contain x times
should contain ${
list_b} 1.0
should not contain ${
list_b} 1
should contain x times ${
list_b} 21 2
说明:变量 l i s t b 包 含 对 象 1.0 而 不 包 含 对 象 1 , 且 对 象 21 在 变 量 {list_b}包含对象1.0而不包含对象1,且对象21在变量 listb包含对象1.0而不包含对象1,且对象21在变量{list_b}出现了两次。
- should be empty 与 should not be empty
should be empty ${
list_c}
should not be empty ${
list_a}
说明:变量 l i s t c 没 有 赋 值 , 所 以 为 空 ; 相 反 , 变 量 {list_c}没有赋值,所以为空;相反,变量 listc没有赋值,所以为