当前位置:网站首页>RobotFramework入门(一)简要介绍及使用
RobotFramework入门(一)简要介绍及使用
2022-07-06 02:35:00 【Makasa】
前言
本章主要讲述Robotframework的简要介绍及使用
一、简要介绍
Robotframework:是一个基于Python语言开发的,可扩展的,是关键字驱动模式的自动化测试框架,Robotframework最新的版本是2019年7月份发布,7月份之前只支持python2.7,7月之后支持3.X的版本
首先简单说下【关键字驱动模式】和【数据驱动模式】的含义:
关键字驱动模式:就是将项目中的一些逻辑封装成关键字(一个函数名),然后我们可以调用不同的关键字组合实现不同的业务逻辑,从而驱动测试用例执行
例如:UI自动化中,我们每个用例步骤都可以写成一个方法,然后在robot中直接引用这个方法名即可另外数据驱动模式:就是实现参数化数据
例如:在API自动化中,比如框架用的pytest/unittest,我们一般都会实现参数化,将你的参数统一写在外部文件(excel、yaml、txt、csv…)中,然后通过读取外部文件进行参数化请求,这样的话之后我们只需要维护更改你的外部文件即可,常用的包:@ddt
Robotframework特点:
1)编辑用例简单,可以以robot,txt,tsv或者html的格式编写用例
2)自动生成html格式的测试报告和日志(HtmlTestRunner.py,allure)
3)不仅拥有自带的类库:
Buitini(测试库)
Collections(集合库)
Date Time(时间库)
ScreenShot(截屏库)
也很多其他实用的类扩展库:
SeleniumLibrary(web自动化测试)
RequestsLibrary(接口自动化测试)
AppiumLibrary(APP自动化测试)
4)可以根据项目的需要自定义一些关键字
5)可以使用GUI的方式运行,可以和SVN或者GIT及Jenkins持续集成
二、RobotFramework下载
#robotframework
pip install robotframework==3.1.2
#ride,可以进行GUI操作
pip install robotframework-ride==1.7.4.1
# 所有的扩展库下载后会统一放在python\Lib\site-packages文件夹下
# web自动化第三方库,进行UI自动化操作时下载,
pip install robotframework-selenium2library 3.0.0
pip install robotframework-seleniumlibrary 4.3.0
# 接口自动化测试库
pip install robotframework-requests
# appui自动化第三方库
pip install robotframework-appiumlibrary
三、Ride基本使用
1、创建ride桌面快捷方式
- 正常情况下安装robotframework-ride后会自动提示你创建桌面快捷入口,但偶尔也会创建失败,所以这里讲下ride快捷方式的创建
# 图标路径:你的python路径下\Lib..
D:\Mikasa_develop\Python36\Lib\site-packages\robotide\widgets\robot.ico
2、常用快捷键
# 1、查询关键字
F5
# 2、关键字自动补全
ctrl+shift+空格
四、简单robot用例实战
1、创建项目(New Project)
- File --> New Project,Type选择Directory,Format选择Robot
2、创建模块(New Directory)
- 鼠标右键点击项目 --> 选择New Directory
3、创建测试套件(New Suite)
- 鼠标右键点击模块 --> 选择New Suite
4、创建测试用例(New Test Case)
- 鼠标右键点击Suite --> 选择New Test Case
5、创建资源文件(New Resource)
- 资源文件是【自定义关键字】的载体
注意:只能在文件夹下面进行创建,并且是txt格式的
6、创建业务关键字(New User Keyword)
- 在资源文件下新建业务关键字
7、常用关键字用例编写
- 以下这些都是robot常用关键字,但其实我们自己的项目中进行UI/App自动化时,我们一般会使用自定义关键字
- 注意:关于编码的解决大家详细可以看下这篇文章,我就不做过多讲述了
http://t.zoukankan.com/panda-sweets-p-13730365.html
robot报告显示:
边栏推荐
- [Yunju entrepreneurial foundation notes] Chapter II entrepreneur test 9
- Redis delete policy
- LeetCode 103. Binary tree zigzag level order transverse - Binary Tree Series Question 5
- SQL table name is passed as a parameter
- MySQL (IV) - transactions
- Yyds dry inventory comparison of several database storage engines
- Minecraft 1.18.1、1.18.2模组开发 22.狙击枪(Sniper Rifle)
- 729. My schedule I / offer II 106 Bipartite graph
- Formatting occurs twice when vs code is saved
- Sword finger offer 30 Stack containing min function
猜你喜欢
Black high-end responsive website dream weaving template (adaptive mobile terminal)
Pat grade a 1033 to fill or not to fill
Shell脚本更新存储过程到数据库
【社区人物志】专访马龙伟:轮子不好用,那就自己造!
Lecture 4 of Data Engineering Series: sample engineering of data centric AI
Formatting occurs twice when vs code is saved
在线怎么生成富文本
HttpRunnerManager安装(三)-Linux下配置myql数据库&初始化数据
Initial understanding of pointer variables
[Yunju entrepreneurial foundation notes] Chapter II entrepreneur test 22
随机推荐
MySQL winter vacation self-study 2022 11 (8)
Is there a case where sqlcdc monitors multiple tables and then associates them to sink to another table? All operations in MySQL
Pure QT version of Chinese chess: realize two-man, man-machine and network games
SSM assembly
我把驱动换成了5.1.35,但是还是一样的错误,我现在是能连成功,但是我每做一次sql操作都会报这个
Differences and usage scenarios between TCP and UDP
微软语音合成助手 v1.3 文本转语音工具,真实语音AI生成器
MySQL winter vacation self-study 2022 11 (9)
Bigder:34/100 面试感觉挺好的,没有收到录取
【机器人手眼标定】eye in hand
Pat grade a 1033 to fill or not to fill
2020.02.11
继承的构造函数
零基础自学STM32-野火——GPIO复习篇——使用绝对地址操作GPIO
球面透镜与柱面透镜
[untitled] a query SQL execution process in the database
UE4 - how to make a simple TPS role (I) - create a basic role
[Yunju entrepreneurial foundation notes] Chapter II entrepreneur test 13
General process of machine learning training and parameter optimization (discussion)
Li Kou today's question -729 My schedule I