前言
Python 是面向高级对象编程语言,由于自身具有易学习、易阅读,支持跨平台、可扩展可移植可嵌入的特点,让其可以接入第三方库。
目前行业里,自动化测试框架主要有RobotFramework、Appium、Airtest等
本期,我们将学习一个基于表格编程的开源的自动化测试框架RobotFramework相关知识,Let's go~~
1. Robotframework框架概述
- 什么是Robotframework 框架?
- RobotFramework 是一个目前流行表格脚本的。由Robot Framework Foundation支持开发的开源免费的可扩展关键字驱动自动化框架。
- 可使用在验收测试方面验收、验收测试驱动开发(ATDD)
- 可用于行为驱动开发(BDD)、Robot自动化流程开发(RPA)
- 支持分布式环境部署
- 支持不同语言的如Java、Python等语言实现库来进行扩展
- 可以任何工具进行集成,创建强大的灵活的自动化解决方案
- 目前RobotFramework内置库已经更新到版本4.3.1
- RobotFramework 框架主要分为四部分:
- Test Data:采用表格格式进行编写的测试用例
- RobotFramework: RF系统启动,会处理数据、执行用例和生成日志和报告
- Test Libraries: RF系统将测试用例的步骤,交互给库来进行处理
- system Under Test: RF测试可以直接通过应用接口,或者测试工具作为驱动程序
- RobotFramework框架优点
- RobotFramework 框架具有一套自己的简单语法,使用人类可读的关键字,因此具有一下优点。
- 易上手,采用表格化编程,覆盖广泛人群使用
- 重用性好,可以使用现有的关键字组装成新的关键字
- 易扩展,可以使用Python等实现自定义测试库
- 易集成,提供命令行界面和xml 输出文件方便接入到持续集成系统
- 支持多类型的测试,如WEB测试、AOO测试、SSH、API接口等测试
- 易维护,可以支持数据驱动、变量控制、标记管理、级别设置对测试用例进行管理
- 良好的报告和日志展示,以HTML形式输出测试结果
- RobotFramework框架用途
- RobotFramework 框架使用,官方推荐使用Python语言环境。
- 目前RobotFramework 4.x版本,支持Python 2.7和Python 3.5以上版本。
- 我们需要在本地使用pip下载Robotframework 下载最新版本
- pip install robotframewor 复制代码
- 由于 RobotFramework 官方最新版本不稳定,我们可以下载指定版本
- pip --disable-pip-version-check install robotframework 复制代码
- 下载Robotframework框架后,我们需要下载Robotframework 快捷方式ride
- pip --disable-pip-version-check install robotframework-ride==1.7.4.2 复制代码
- 然后在电脑桌面上右击鼠标->点击创建->创建快捷方式
- 在输入框直接复制输入 C:\Users\user\AppData\Local\Programs\Python\Python37\pythonw.exe -c "from robotide import main; main()"
2. RobotFramework底层库
RobotFramework 底层库包含内置库和外部库,详细资料在可见RobotFramework资源。
RobotFramework 内置库:
- Builtin: 提供基本操作的关键字,无需提前导入库(Library XXX)
- Dialog: 提供暂停测试执行与用户进行交互对话界面方式的关键字
- Collections:提供一组关键字处理Python列表和字典
- XML: 提供可以生成、编辑和验证XML文件库
- Screenshot: 提供关键字来捕获和存储桌面的截图
- String:提供处理字符串并验证它们内容的库。用于生成、修改和验证字符串
- DateTime:日期和时间转换库,支持创建和验证日期和时间值以及它们之间的计算。
RobotFramework 外部库目前支持Appium、selenium等库
- SeleniumLibrary : 提供支持 Web 测试库
- AppiumLibrary: 提供支持 Android 和 ios 测试库
- Robotframework-faker :提供支持 faker 库
- HTTP RequestsLibrary :提供支持使用Python Requests库对HTTP测试
3. RobotFramework软件Ride
我们打开ride软件,可以在该界面上创建我们脚本。
编辑测试脚本,提供两种方式 表格形式 和 文本形式
如下,给出了Robotframework测试套件编写,文本结构
*** Settings ***
Documentation RobotFramework 测试脚本
Suite Setup log 套件前置步骤
Suite Teardown Log 套件后置步骤
Test Setup Log 测试前置
Test Teardown Log 测试后置
Library Dialogs
*** Variable ***
# Documentation 设置全局变量
*** Test Cases ***
test
[Documentation] 测试用例
log hello world
*** Keyword ***
关键字
[Documentation] 自定义关键字
套件前置步骤
log 套件前置步骤
复制代码
4. 编写RobotFramework用例
我们在RobotFramework RIDE界面中编写两条测试case如下
表格形式如下: case1:使用for循环打印[ 2~5) 的数据
test1
FOR ${i} IN RANGE ${2} ${5}
Log ${i}
END
复制代码
case2:使用collection库向列表中添加数据
test2
[Documentation] 列表添加数据
${L1} Create List 1 2 3 4
Append To List ${L1} A B
Log ${L1}
复制代码
执行测试case,日志打印如下
总结
本期,主要对RobotFramework 框架基本知识进行学习,并且在本地上配置搭建环境。
RobotFramework 自身的语法简单,易于上手,并且可以接入外部接口库进行使用。