Python3.7+Robot Framework+RIDE1.7.4.1安装使用教程
一、解惑:Robot Framewprk
今天我们聊一聊,Robot Framework被众多测试工程师误会多年的秘密。今天我们一起来揭秘一下,最近经常在各大群里听到许多同行,在拿Robot Framework与Pytest或其它同类测试框架作对比,我认为这个对比本质上是没有任何意义的,青菜萝卜、各有所爱,一百个心中有一百个哈姆雷特,只有找到适合自己的,并能用较低成本就能解决当前团队面临的问题,这才是关键所在。
至于框架之间的对比,笔者主张的观点:“存在即合理,每个框架既然它存在,必然在它存在的意义和价值,当然也有他们各自的优点以及劣势,当前市面上也并没有一款框架能做到十全十美,满足所有人的需求,只有明确自己的问题,找准靶心,以解决问题驱动才是王道!”
回归到今天的主题,大部分人在一开始用Robot Framework都存在一个误解,认为Robot Framework只支持Python 2,其实这是对Robot Framework兼容性存在的一个较大误区。Robot Framework其实很早就已经支持Python 3了。
之所以市面上一直有这样的误区,是因为Robot Framework对应的官方编辑器RIDE由于一些历史原因,只支持到了Python 2.7,那么也就导致如果你在使用Robot Framework时,如果是用RIDE来管理RF测试用例,那么之前的版本确实是只能用Python 2.x版本。但如果你并不是采用RIDE 而是用其它编辑器或插件比如Pycharm或VS Code,或者直接命令行的形式来运行RF测试用例,那么即使用Python 3也是可以的。
值得庆幸的是,在2019年1月20号,Robot Framework RIDE发布了1.7.3版本解决了此前RIDE一直无法兼容Python 3的问题。也就意味着Robot Framework不管是采用何种编辑器,都已经是可以支持Python 3了。
二、在Robot Framework IDE 1.7.4+版本中,新功能:
兼容Python 2.7 and >=3.6。
运行任何wxPython版本(2.8.12.1、3.0.2在Python 2.7上)和4.0.4用于Python 2.7和> = 3.6。
得益于wxPython的AUI模块、窗格、标签、工具栏是可拆卸和可重新定位的。
文本编辑器现在具有自动补全功能。
树窗格上的测试用例,具有新的官方图标,并在运行或暂停时设置动画。
树窗格上的测试用例名称过长的名称用“…”进行缩短。并且在工具提示上可见。
在测试套件级别的树窗格上,上下文菜单允许在文件管理器中打开文件夹,并删除只读文件属性。
如果未选择任何测试,将确认继续运行所有测试。
像快捷键F8一样可以运行测试,现在快捷键F9可以用debug的日志级运行它们。
三、Robot Framework RIDE 1.7.4+ 安装、升级
安装方法千千万,pip大法最简单。直接使用pip安装ride就可以了,Robot Framework、wxPython等依赖库都会自动安装好。
(1)打开命令行提示行,安装或更新Robot Framework版本:
1 pip install -U robotframework
(2)安装wxPython 4.0.4版本:
1 pip install wxPython==4.0.4
(3)安装或更新Robot Framework RIDE版本:
1 通过pip安装指定版本:pip install robotframework-ride==1.7.4.1
四、安装路上踩的坑:
1.启动ride.py 遇到如下错误:
提示当前环境没有pub模板,通过pip安装
1 pip install PyPubSub==3.3.0
再次启动ride.py,打开如下界面:
五、RIDE的使用:
我们说ride是一个简单的小工具,就不一个个菜单一个个功能地介绍了,直接说它一般怎么用。
我们前面说Robot Framework的功能就是把代码文件中的函数抽象成所谓的关键字,我们直接看这主要功能如何实现。
1.新建项目及测试用例
主菜单----File----New Project
主要是填写项目名称(比如我这里是test),其他默认即可。Type/Format这种东西无非是存放格式的区别不必太在意。
在新建的项目上鼠标右键—New Test Case—输入测试用例(我这里是testCase1)名称点击OK。
经以上步骤项目和测试用例都已创建好,当前界面如下:
2.导入自定义库函数
对我们这里页言,自定义库就是前面的test_lib.py,库含数就是其中的get_url_source_code。
左侧窗格选中项目,右侧窗格选中Edit选项卡,点击Library按钮
通过Browse选中我们的test_lib.py,其他不用填,点击OK。
回到主窗口上可以看到导入了一个库(如果呈红色说明导入报错,一般是脚本代码有问题,可借助cmd窗口的输出进行定位)
在上边界面中使用F5键,唤出关键字搜索对话框,Source中下拉选中test_lib。
如无意外,可以看到如下图我们脚本中的get_url_source_code被抽取成了Get Url Source Code关键字,注释这些也都有展现在上面(url那行没换行是\n和\r\n的问题)。
使用自定义库函数
经过前面几步我们已经将自己写的函数导入了进来,下来看如何调用,这步也是Robot Framework(或者RIDE)的主要用法。
回到主窗口,左侧窗口选中测试用例,右侧窗口选中Edit选项卡,界面如下。
测试用例就真的是测试用例,其中的1、2、3、4、5就是测试步骤,其中第一列是关键字(即本质上的函数),其后各列用于输入参数。
我们输入我们要使用的关键字“Get Url Source Code”(可使用Ctrl+Alt+Space获取补全提示),此时界面如下图。
一列为粉红底色,表示需要一个参数;其余后续列为灰色表示不使用(但如果想的话可以把自己的注释写在这些灰色格子上)。
我们把参数设置成“https://www.baidu.com”,此时再看界面如下,白色底表明填写上没有错误。
如果自己的测试用例后续还有各步,就继续在2、3、4、5那些行继续写下去即可。
4.运行测试用例及查看其报告
运行很简单,左侧窗格钩选要运行的测试用例,右侧窗格切换到Run选项卡,点击Start按钮。
底部窗格的输出其实就只是我们在get_url_source_code函数中的打印。
点击Report和Log按钮查看生成的报告,可以看到主要仍旧只是把打印记录到文件里。
原文地址:https://www.cnblogs.com/yuxuan6699/p/12503392.html
- CSS实现按钮的两张图片的同步出现
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(6)--在线调整虚拟机的大小
- 关于vb中的容器
- 关于vb中的容器
- Mysql数据库之Binlog日志使用总结
- 揭秘新人机大战柯洁对手天壤 AI排名已力压Deepzen
- 一路走到java工程师,java都快出java9了,到底该如何学java?
- 网站发布合并bll问题的解决
- 痛并快乐着:浅谈大数据时代的分布式存储架构
- linux运维中的命令梳理(四)
- linux运维中的命令梳理(三)
- 轻松水印-批量提取exif信息加水印的工具
- Enterprise Library 4.1学习笔记7----缓存应用程序块之SqlDependency
- linux运维中的命令梳理(一)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel解决迁移文件一次删除创建字段报错的问题
- laravel 错误处理,接口错误返回json代码
- Thinkphp 3.2框架使用Redis的方法详解
- Laravel validate error处理,ajax,json示例
- PHP 图片合成、仿微信群头像的方法示例
- python写文件时覆盖原来的实例方法
- Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
- PHP判断当前使用的是什么浏览器(推荐)
- PHP 计算两个时间段之间交集的天数示例
- laravel model 两表联查示例
- Laravel使用模型实现like模糊查询的例子
- Laravel 模型使用软删除-左连接查询-表起别名示例
- PHP上传图片到数据库并显示的实例代码
- Laravel 5.5 实现禁用用户注册示例
- 解决php用mysql方式连接数据库出现Deprecated报错问题