RF(Robot Framework)框架搭建+项目实现
目录
从之前的博客中,大家已经了解到目前常用的几个自动化测试框架的优缺点,详情可查看:自动化测试框架对比与选型-CSDN博客
本文主要讲解一下如何搭建RF环境,并手把手教你实现一个RF项目。
一、RF的环境搭建
1.搭建python环境
推荐3.6(或3.7),目前Ride不支持3.8,3.9版本
A.进入python官网:Welcome to Python.org,选择download-Windows选项,下载后双击安装,直到完成
B.环境变量->系统变量->找到Path点击编辑,加入python的安装路径和Script目录的路径(例如我是装在D盘)
C.安装完成后,cmd下输入python --version查看版本号
2.安装robot Framework
在cmd中输入pip install robotframework
(如果超时可以使用镜像文件pip install?-i?https://pypi.douban.com/simple?+三方库名)
3.安装Ride
安装完成后根据提示会在桌面生成一个快捷方式,如图所示
在cmd中输入pip install robotframework-ride==1.7.4.2
wxPython和Ride的版本可能会冲突,目前网上查到以下版本是兼容的:
wxPython?4.0.7.post2兼容ride==1.7.4.2
wxPython?4.0.7兼容ride==1.7.4.1
4.启动Ride
Cmd窗口输入ride.py,如果报错可以在cmd窗口看到报错
也可以直接通过桌面快捷方式打开
二、创建RF项目
(适合新手,大佬们自动忽略)
1.新建项目
File-New Project
Type选择Directory
Format常用的是Robot、txt
2.新建套件Test Suite
右键项目--New Suite,Type选择File(套件下面直接放测试用例)
Format选择Robot (实践证明Format选择txt的话,执行时提示Suite contains no tests matching name)
套件Test Suite中需要导入用例需要的资源,包括Library和Resource
library为第三方库或自定义库
resource为自定义关键字集合(通过右键-New Resource新建的自定义关键字、变量)
3.新建测试用例
Test Suite右键,New Test Case
RF主要是关键字驱动,一行一个关键字
关键字前的,是返回值,如果没有返回值可以不写
关键字后面的,是参数,传参顺序不可混乱
例如下面这个例子:定义了一个say_hello的关键字,需要传name1,name2,返回“Succeed!”
在调用Say Hello时,就把“小树”传给name1,把“大树”传给name2,执行成功后,把但会结果赋值给 ${执行结果}
运行结果
拓展:执行时Execution Profile如果选择pybot可能会出现报错找不到pybot.bat文件的报错
解决方案:
(1)找到python安装路径\Scripts文件下看是否有pybot.bat文件
(2)如果没有的话需要自己创建一个txt文件,命名为pybot.txt
(3)输入文本,保存文件,修改文件后缀为.bat(如果python.exe修改成python37.exe,需要将文本中python改为python37 -m robot.run %*)
@Echo off
python -m robot.run %*
(4)打开cmd,执行pybot --version验证是否成功
Note:
- 自定义关键字时,定义say_hello或者SayHello,在ride中调用都会自动转换为Say Hello
- ${执行结果}?是一个变量名,可以随便取,通俗易懂即可
- ${}表示字符串类型的变量,@{}表示列表变量,&{}表示字典变量
- Should Be Equal,自带的断言关键字,不需要在Suite中导入。RF本身提供了大量的断言方法和基础函数(For循环,IF,Datetime,Random等),可以通过?F5 查看,包括自定义的关键字也可以看到
最最常用的快捷键:
自动补全关键字——>ctrl+Alt+空格?或者 Alt+空格(不同版本有所不同)
显示关键字信息——> ctrl+鼠标悬浮(鼠标悬浮于关键字上)
搜索关键字——>F5
全局保存,保存修改过的所有用例——>ctrl+shift+s
屏蔽代码——>ctrl+#
取消备注——>ctrl+$
4.自定义关键字User Keyword
右键New Resource->New User Keywords
Note:
- User Keyword和自定义三方库的用途差不多,只不过User Keyword是定义在RF框架里面的,可以用中文做关键字名
- 自定义User Keyword的时候,也可以引用Library或者其他的Resource
- 之所以把User Keywords放在Resource文件下,是为了方便引用和管理,不同模块建立不同的Resource,互相不会影响。提问:为啥不放在Directory文件夹中?刮开涂层看结果 Direcory文件夹不支持被引用
使用:
第一步:定义一个关键字:可以设置入参和返回值
第二步:Test Suit引用resource:
第三步:Test Case调用自定义关键字:
5.自定义变量Scalar
右键项目-New Scalar (实际项目中也建议放在Resource文件夹中)
使用:
第一步:创建变量
第二步:Test Suite引用
第三步:通过变量名,在用例调用自定义变量
执行结果:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!