从搭建到实战,看看这篇robotframework框架深度学习笔记
🔥 交流讨论:欢迎加入我们一起学习!
🔥 资源分享:耗时200+小时精选的「软件测试」资料包
🔥 教程推荐:火遍全网的《软件测试》教程
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
RobotFramework 由Robot Framework Foundation支持。许多行业领先的公司在其软件开发中使用 该工具。
Robot Framework 是开放和可扩展的。Robot Framework 几乎可以与任何其他工具集成,以创建强大而灵活的自动化解决方案。Robot Framework 可以免费使用,无需许可费用。
Robot Framework 具有简单的语法,使用人类可读的关键字。它的功能可以通过使用 Python、Java 或 许多其他编程语言实现的库进行扩展。Robot Framework 有一个丰富的生态系统,包括作为独立项目开发的库和工具。
01 robotframework环境搭建
安装python3.6以上,并且确保环境变量配置正确
安装robotframework库
pip install robotframework
安装robotframework ride脚本图形界面编辑器
pip install robotframwork-ride
点击是,会在桌面上创建一个快捷图标
02 内置关键字库
robotframwork安装之后会出现在python安装目录的Lib/site-packages目录下

其中的libraries目录下就是我们将来编写脚本时用到的关键字源码

这些关键字库是按照一定的分类进行的
Builtln
变量定义、循环控制、数据计算、进制转换、断言判断、日志等等
Collections
处理python列表和字典的相关操作
DateTime
处理日期和时间转换的相关操作
Dialogs
提供暂停执行和获取用户输入的方法
OperatingSystem
提供和操作系统相关的关键字
Process
操作进程相关的关键字
Remote
特殊库充当 Robot Framework 和其他地方的库之间的代理。实际的库可以在不同的机器上运行, 并且可以使用任何支持 XML-RPC 协议的编程语言来实现
Screenshot
提供用于截取桌面屏幕截图的关键字
String
用于生成、修改和验证字符串的库
Telnet
可以连接到 Telnet 服务器并在打开的连接上执行命令
XML
用于生成、修改和验证 XML 文件的库
03 ride基本说明
双击桌面ride图标即可打开ride界面
01 项目创建
点击File->New Project, 选择directory原因是,在directory的项目下可以创建测试套件,如果是tpye 为fifile,则只能创建测试用例,这不利于用例的管理
02 创建测试套件
测试套件是用来管理多个测试用例的集合
右键选择项目名称,New Suite, 选择fifile原因是,在fifile的测试套件下可以创建测试用例,如果是tpye 为directory,还得重新再继续建fifile的测试套件,才能创建测试用例,因为测试用例只能在fifile类型下创建
03
创建测试用例
右键选择测试套件,点击New Test Case
04
测试套件工作区说明
1、测试套件Edit区 分为4部分
设置区
设置区默认是隐藏的,点一下才会出现
Documentation:
文档,每一项都有。可以给当前的对象加入文档说明
Suite Setup:
指的是测试套件启动的时候就执行某个关键字。
(例:我在Suite Setup设置了 Sleep | 5sec,表示等待5秒,要注意关键字的参数要使用 | 分隔)
Suite Teardown:
指的是测试套件结束的时候就执行某个关键字
Test Setup:
指的就是案例启动的时候执行某个关键字
Test Teardown:
指的就是案例结束的时候执行某个关键字
Test Template:
测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模 版,这样所有的TestCase就只需要设置这个关键字的传入参数即可
Test Timeout:
设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例 运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败
Force Tags:
在文件型Suite这里还可以继续给子元素增加Force Tags,但是他不能删除父元 素设置的tags
Default Tags:
默认标记,其实和Force Tags没啥区别的
引用区
主要是用来加载外部文件

Library:加载测试库,主要是[PYTHON目录]\Lib\site-packages里的测试库
Resource:加载资源,主要是你工程相关的资源文件
Variables:加载变量文件
参数区
主要是用来定义该套件的内部变量

Add Scalar:定义普通变量
Add List:定义列表型变量
Add Dict:定义字典
数据区
主要是在report和log里显示定义好的内容,格式和document一样
2、测试套件Text Edit区
测试套件测试用例文本信息
3、测试套件Run区
Execution Profifile:
选择运行方式,里面有pybot、jybot和custom script。默认pybot即可。
Start:
运行案例。若该测试套件下的测试用例前无勾选,则默认执行该测试套件下所有的用例。若测试用例勾选,则执行该测试陶见下勾选的用例。
Stop:
停止案例。
Report和Log:
报告和日志,要运行之后才能点击。他们的区别,报告更多是结果上的展示,日志 更多是过程的记录,更多使用的还是日志。
Autosave:
自动保存,如果不勾选,在修改了案例之后如果没有保存的话,运行案例时会提示是否 保存。勾选则在运行时自动保存了。
Arguments:
pybot的参数(或者jybot等)。完整版的参数可以在doc命令行输入pybot.bat --help
Only Run Tests with these Tags:
只运行这些标记的测试案例。在case的setting里可以添加tag
Skip Tests with these Tags:
跳过这些标记的测试案例。在case的setting里可以添加tag
05 测试用例工作区说明
1、测试用例Edit区 主要分为2部分
设置区
Documentation:
文档,每一项都有。可以给当前的对象加入文档说明。
Setup:
指的就是案例启动的时候执行某个关键字。
Teardown:
指的就是案例结束的时候执行某个关键字。
Tags:
标记某个测试用例。在Run区中Only Run Tests with these Tags和Skip Tests with these Tags,会通过这个标志位来识别是否运行或跳过用例。
Timeout:
设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败。
Template:
测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键字的传入参数即可
表格区
这是编写测试用例的地方
2、Text Edit和Run区和测试套件没有区别
04 robotframwork基础语法
01 日志中文乱码处理
找到自己python安装目录下的Lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py 打开上述文件,找到565行先复制,再注释,另起一行粘贴和修改
修改完成后重启ride
02
用例内部变量
1、普通变量
普通变量定义需要使用Set Variable关键字,第一个单元格指的是变量名称,最后一个单元格10, 指的是把10赋值给a这个变量
Log是日志关键字,输出a的值
运行一下

2、列表变量
列表变量定义需要使用Create List关键字
列表定义可以使用两种方式:
${xxx}
@{xxx}

3、字典变量
字典变量定义需要使用Create Dictionary
字典定义可以使用两种方式:
${xxx}
&{xxx}

03
集合公共变量
有一些是在同一个测试集合中都会用到的公共变量,那么就可以在集合中进行定义
添加一个普通变量
添加一个列表变量

添加一个字典变量

公共变量使用
集合的公共变量在他下面的每个测试用例中都可以使用

运行后结果:
04
判断
案例:给定一个成绩值,大于90分输出优秀、大于80是良好、大于70是一般、大于60是及格,其他是不及格
Run Keyword If的使用

05
循环
案例1:计算100以内的数字和
FOR…IN RANGE xxx … END结构
${i}相当于循环变量
Evaluate 表示将s u m + {sum}+sum+{i}的计算结果赋值给${sum}

案例2:输出列表中的偶数
FOR … IN xxx … END 结构
${i}相当于循环变量
Run Keyword If 是判断当前循环变量是2的倍数,那么就输出

案例3:跳过当次循环,遍历列表,如果是5的倍数就跳过
Continue For Loop If表示满足条件就跳过本次循环

案例4:遍历列表,如果碰到5就终止循环
Exit For Loop If表示满足条件则终止循环

06
关键字库导入
需要使用一些扩展关键字时,需要先导入相对应的库,比如针对列表和字典操作的库是Collections
导入Collections
选择测试集合,注意导入后如果显式红色,说明导入不正确

使用Collections中的关键字

07
用户关键字
用户关键字是自定义的一种关键字,相当于写代码时自己封装一个函数
1、普通变量作为入参
案例:封装一个计算指定数字之内的所有数字和,比如100以内,1000以内等等
创建关键字


调用关键字
在某个测试集合中想要调用自定义的关键字,需要先导入
导入自定义关键字

导入之后显式绿色说明正确,显式红色说明导入的resource路径不对
调用关键字
在测试用例中调用自己写的关键字

2、列表变量作为入参
案例:封装一个返回给定列表中的偶数
创建关键字

调用关键字

3、字典变量作为入参
案例:将学员各个语言科目成绩定义成字典{‘python’:95,‘java’:58,‘c’:70},封装一个关键字将不及 格的分数都改成60
创建关键字

调用关键字

4、多变量入参
案例:封装一个计算三个数之和的关键字,第三个数默认值是10
创建关键字


调用关键字

对于有默认值的参数,在调用时可以传也可以不传
最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)