Robot Framework 架构是一个通用的验收测试和验收测试驱动开发的自动化测试框架(ATDD)。如果有使用过python中unittest或者java中junit中的同学会发现robot framework也差不多,也是使用例结构化,通过自动化的手段来测试,并将结果形成html形式的报告。我使用的语言是python,所以就用python来讲下它的使用
1、安装
首先安装robotframework这个第三方库,pip install robotframework,安装完成后会发现scripts这个目录下多了一个pybot.bat这个文件,则说明安装成功,将scripts加入PATH下,在cmd中输pybot,有内容则证明安装成功
2.IDE
robot framework代码在哪里写呢?如果使用python2的同学可以安装Robot Framework RIDE ,但是这个只能用于python2,因为python2才支持wxpython,我使用的是py3,所以只好放弃了,可以选择Sublime text3,vim,或者直接用Notepad ++
3.简单的例子
如上图所示,Test cases表示以下是测试用例,test rf 是用例名称,log等同于print,注意,log之前有四个空格,后面也是,用于分隔关键字和字符串。
4.运行
将上面的文件保存为example.robot,在cmd中进入文件目录,输入pybot example.robot,如下图所示
证明全部成功,会产生三个文件,output.xml,log(网页形式),report(网页形式)
output.xml 记录的测试结果是 XML 文件。根据特定的需要可以编写脚本读取 XML 文件并生成特定的测试报告。
log.html 会记录 Robot Framework 运行的每一步操作,主要用于编写测试脚本的过程中查看。
report.html 为测试报告,整理性的展示测试用例的运行情况。
5.语法
robotframework的语法和python大不相同,以下列出一些:
造成这些差异的原因主要是robotframework是关键字驱动,关键字也可以像py函数一样自己定义
6.第三方块
robotframework之所以可以进行自动化测试主要是用许多第三方的库,如下所示:
-
Web 自动化测试:SeleniumLibrary,Selenium2Library,Selenium2Library for Java、watir-robot 等。
-
Windows GUI 测试:AutoItLibrary。
-
移动测试:Android library、iOS library、AppiumLibrary 等。
-
数据库测试:Database Library (Java)、Database Library (Python)、MongoDB library 等。
-
文件对比测试:Diff Library。
-
HTTP 测试:HTTP library (livetest)、HTTP library (Requests)等。
那如何声明及调用呢?
这是一个利用seleniumLibrary进行百度搜索的自动化例子,先在settings中声明调用的Library,再在用例中使用library中的关键字来测试,学过selenium的同学会感觉似曾相识,具体的关键字可以自行百度
robotframework中可以用的自动化框架比较多,但是对于不了解其中关键字的同学可能需要花时间来学习,这只是个入门,其中还有许多精妙的语法,Robot Framework 用的好,Python 少不了!所以,我的建议是要想用好 Robot Framework 必须要学习和掌握 Python 语言。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库