其他测试框架 过时框架 RF 基础介绍(5 年前,在这存为的草稿,不知道当初为啥没有发布)

肖军 · 2024年08月30日 · 1769 次阅读

Robot Framework基础


5 年前,在这存为的草稿,今天发布一下,如果有兴趣的可以了解一下吧。

简介

Robot
Framework 是一个基于 Python 的,可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD)。它可用于测试分布式异构应用程序,其中验证需要涉及多种技术和接口。

特性介绍

简单易用:1.关键字驱动,易于测试人员的理解与操作

2.自定义关键字,使得抽象和重构更简单

3.容易集成进其他系统,如 CI 框架 jenkins 等

扩展能力:1.框架本身的扩展能力强

2.Python 的庞大库基础 - 强力支撑

3.RemoteServer + Jython 打通 JVM 的世界

4.AutoItLibrary 处理 windows 标准控件

5.sikuli 集成,实现非标准 win 控件的图象识别与操作

灵活:1.灵活性,项目中是否易用,是否灵活,自己能完全控制

2.支持Gherkin-style 模式的案例写作, BDD 或许也能从此开始

3.自定义关键字,使得测试案例写作先于版本提交成为可能

4.在 python 第三方库上二次封装,library 写作维护成本底

基本库介绍

•BuiltIn : 自动导入,它包含一些非常常用的关键字,如 Log、Set Variable、Evaluate、Sleep 、Comment、Should Be Equal...

•Collections : 处理操作 List 和 Dictionary

•DateTime : 支持创建和验证日期/时间值以及它们之间的计算

•Dialogs : 支持暂停测试执行并从用户那里获得输入

•OperatingSystem : 支持执行各种操作系统相关的任务

•Process : 支持系统中的执行进程

•Screenshot : 捕获和存储截图

•String : 处理操作字符串

•Telnet : 支持连接到 Telnet 服务器上打开的连接执行命令

•XML : 验证和修改 XML 文档

•Remote : 部分远程库接口,它没有关键字

环境搭建与安装

python 的安装与配置

•获取安装包:访问https://www.python.org/downloads/windows/,找到相应的版本进行下载(建议使用3.6.8版本)。

•安装:运行下载的版本安装文件,一般选择自定义安装方式,选择好安装路径,其他都是常规操作下一步就行了。

•环境变量配置:右击计算机->高级系统配置->环境变量->系统环境变量->编辑 path,新增 python 的安装路径(系统调用 python)、pip 的路径(方便 pip 安装 python 依赖库)、Scripts 路径(方便验证依赖库是否安装成功)。

•安装验证:运行 cmd,直接输入 python 回车,可以查看到相应的 python 版本信息并进入 python 的命令模式。

RF 的安装与配置

•安装 Robot Framework:cmd 命令模式下运行命令:pip install robotframework -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

•安装 robotframework-ride : cmd 命令模式下运行命令: pip install robotframework-ride -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

•安装 robotframework-seleniumlibrary : cmd 命令模式下运行命令:pip install robotframework-seleniumlibrary -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

•安装 robotframework-requests : cmd 命令模式下运行命令:pip install robotframework-requests -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

•安装验证: cmd 命令模式下运行命令: pip list 可以查看到安装的程序

运行与调试

RIDE 是一款专门用来编辑调试 Robot
Framework 自动化用例的软件工具,用 Python 编写并且开源。基础就以此做简单介绍。

Ride 的介绍

•菜单栏:RIDE 所有功能都在这里面;

•工具栏:常用功能的快捷操作;

•工作文件区:创建的工程文件,该目录展示位一种树形结构;

•工作区:编辑和运行案例的地方;

自动化用例的编写与运行

步骤1:创建工程文件Project

输入工程名称:dicmpUI-001,Type 选择 directory。选择工程存放路径和文件格式;(注意:为方便用例的管理维护,工程类型要选择 Directory,否则无法新增测试套件)

步骤2:创建测试套件New Suite

在工程名称上右键,选择 New Suite,创建测试套件(测试套件:可以理解为一个测试模块,即把相关的测试功能归纳分类,如:用户管理、用户登录等)

步骤3:创建测试用例Test Case

在 “测试套件 1” 下右键,选择 New Test Case,输入用例名称;用例名称要言简意赅;

步骤4编写自动化用例

此处给的例子比较简单,log 关键字的作用就是打印输出

步骤5自动化用例运行

在文件工作区,选择相应的测试用例,在工作区 Run->Start,就可以查看到相应的运行信息;

webUI实例

Robot Framework 实现 webUI 自动化,主要是靠 robotframework-seleniumlibrary 来实现的。

SeleniumLibrary介绍

SeleniumLibrary 在内部使用 Selenium
WebDriver 模块来控制 web 浏览器。请参阅http://seleniumhq.orgSelenium 的更多信息以了解有关.

常用的关键字

•Open Browser:打开浏览器,主要参数有 url、browser

•Click Element :点击事件,主要参数有locatormodifier=Falseaction_chain=False

•Capture Page Screenshot:截屏,主要参数filename=selenium-screenshot-{index}.png

•Input Text:输入内容,主要参数locator, text, clear=True

•Maximize Browser Window:最大化浏览器窗口

•Wait Until Element Contains:等待元素出现,主要参数locator, text,timeout=None,error=None

•Page Should Contain Element:页面元素校验,主要参数locator, message=None,loglevel=TRACE,limit=None

•Title Should Be:页面标题校验,主要参数title, message=None

元素定位方法

SeleniumLibrary.html

简单示例

自动化登录

http接口实例

Robot Framework 实现 http 接口自动化,主要是靠 robotframework-requests 来实现的。

Requests介绍

RequestsLibrary 是一个 HTTP 客户端关键字库,基于 python 的 requests 库实现 http 请求操作。

常用的关键字

•Create Session:创建 Session,主要参数有 alias, url, headers={}, cookies={}, auth=None, timeout=None, proxies=None,verify=False, debug=0, max_retries=3, backoff_factor=0.1, disable_warnings=0,retry_status_list=[], retry_method_list=['GET', 'TRACE', 'PUT', 'OPTIONS', 'HEAD', 'DELETE']

•Get Request:Get 请求,主要参数有 alias, uri, headers=None, data=None, json=None, params=None, allow_redirects=None, timeout=None

•Post Request:Post 请求,主要参数有 alias, uri, data=None, json=None, params=None, headers=None, files=None, allow_redirects=None, timeout=None

简单示例

Get 请求和 Post 请求

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册