Robot Framework 使用【1】-- 基于Python3.7 + RIDE 最新版本搭建
前言
Robot Framework作为公司能快速落地实现UI自动化测试的一款框架,同时也非常适合刚入门自动化测试的朋友们去快速学习自动化,笔者计划通过从搭建逐步到完成自动化测试的过程来整体描述它的使用。
Robot Framework环境搭建步骤
Robot Framework是基于Python语言开发的一款框架,搭建步骤如下:
对于Robot Framework熟悉的老手尝鲜新版 或 python熟悉的朋友看如下简易安装步骤即可(详细截图说明内容适合新入门朋友)
简易安装步骤:
- 安装python3.7
- 在dos命令输入 pip install robotframework 在线安装robotframework
- 在dos命令输入 pip install Pypubsub==3.3.0 在线安装 Pypubsub
- 在dos命令输入 pip install wxPython==4.0.3 在线安装 wxPython
- 在dos命令输入 pip install robotframework-ride 在线安装robotframework-ride
- 在dos命令输入 pip list 检查是否安装成功
- 在dos命令输入 ride.py 检查是否出现RIDE主界面,如不能出现,可去 python安装路径\scripts\ride.py 手动双击启动
详细安装步骤:
- 安装 python3.7
- 在线安装 robotframework 在dos命令中输入 pip install robotframework
- 在线安装 Pypubsub 在dos命令中输入 pip install Pypubsub==3.3.0
- 在线安装 wxPython 在dos命令中输入 pip install wxPython==4.0.3(截图略,与上截图类似)
- 在线安装 robotframework-ride 在dos命令输入 pip install robotframework-ride ,安装过程中需要安装依赖,过程较慢(截图略,与上截图类似)
- 在dos命令输入 pip list ,检查上述软件是否安装成功
- 在dos命令输入 ride.py 命令打开RIDE主界面
常见问题
- 依赖相关问题
robotframework-ride 1.7.3.1 安装所使用的Pypubsub版本要求的兼容版本为3.3.0,如果太新,安装过程中会出现警告信息,但笔者实验后发现出现警告也可以使用,但还是建议大家使用所要求的兼容版本。 - 偶发性的报错
由于笔者是软测培训相关的讲师,在教学过程中,学生安装时出现过如下截图的偶发性错误:
dos命令下错误信息:
C:\WINDOWS\system32>ride.py
Traceback (most recent call last):
File "d:\python\lib\site-packages\robotide\application\application.py", line 59, in OnInit
self._plugin_loader.enable_plugins()
File "d:\python\lib\site-packages\robotide\application\pluginloader.py", line 43, in enable_plugins
p.enable_on_startup()
File "d:\python\lib\site-packages\robotide\application\pluginconnector.py", line 52, in enable_on_startup
self.enable()
File "d:\python\lib\site-packages\robotide\application\pluginconnector.py", line 57, in enable
self._plugin.enable()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 162, in enable
self._build_ui()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 558, in _build_ui
self._build_notebook_tab()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 734, in _build_notebook_tab
self.out = self._create_output_textctrl()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 769, in _create_output_textctrl
font = self._create_font()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 789, in _create_font
font=wx.SystemSettings.GetFont(wx.SYS_ANSI_VAR_FONT)
wx._core.wxAssertionError: C++ assertion "wxFontEnumerator::IsValidFacename(font.GetFaceName())" failed at ....\src\msw\settings.cpp(301) in wxSystemSettingsNative::GetFont():
OnInit returned false, exiting...
Error in atexit._run_exitfuncs:
wx._core.wxAssertionError: C++ assertion "GetEventHandler() == this" failed at ....\src\common\wincmn.cpp(478) in wxWindowBase::~wxWindowBase(): any pushed event handlers must have been removed
解决方案:
根据如上提示信息,找到 testrunnerplugin.py文件路径,如上是
d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py
用pycharm等python代码编辑工具打开该py文件,编辑789行:
把 font=wx.SystemSettings.GetFont(wx.SYS_ANSI_VAR_FONT) 改为 font=wx.SystemSettings.GetFont(wx.SYS_ANSI_FIXED_FONT)
如果还不成功,则改为
font=wx.SystemSettings.GetFont(wx.SYS_SYSTEM_FONT) - 没有权限报错
在使用Text Edit区域编写代码完成,保存代码的时候会出现如下图报错:
错误信息:
Error in serializing 'C:\robotframeworkcode\newdream':
[Errno 13] Permission denied: 'C:\robotframeworkcode\newdream.'
解决方案:
问题的主因是Robot Framework的RIDE没有相关权限引起的。
强制关闭 Robot Framework 的RIDE界面后,找到 ride.py 文件的存放路径(python安装路径\Scripts\ride.py),
Windows 7 操作系统,右击 ride.py 文件 -- 选择 管理员取得所有权 即可。
Windows 10操作系统,右击 ride.py 文件 -- 选择 授予访问权限 -- 特定用户 -- 选择自己登录Windows10的账号共享即可。 - 离线安装
离线安装不会自动安装依赖类库,需要手动把相关依赖类库下载才可进行安装,笔者不推荐此安装方式。
如果在没有网络的环境下,使用离线安装环境,需要提前下载对应的类库安装文件,按如下顺序下载安装:
robotframework-3.1.1 、PyPubSub-3.3.0 、six-1.12.0、Pygments-2.3.1、robotframeworklexer-1.1、robotframework-ride-1.7.3.1
下载网站:https://pypi.org/
离线安装python类库步骤:
1)解压下载的类库软件
2)在dos命令中进入解压目录,输入 python setup.py install 安装 - robotframework-excellibrary库暂时不支持
该库暂时不支持,没有解决方案,有相关方案的朋友可以反馈下。
后记
在2019年之前,robotframework-ride的版本一直是1.5.2.1,是2016年1月份的版本,里面需要使用 wxPython2.8-win64-unicode-2.8.12.1-py27.exe,wxPython2.8只能安装在python2.7的环境上,导致如果想同时使用robot framework做测试且又需要python3环境编写python代码的小伙伴都需要在操作系统上安装两个python环境(2.7和3.7)。
2019年,robotframework-ride迎来的这次更新算是解决了此问题,从此只需要安装python3.6以上的python环境即可。
参考文献
robotframework 官方文档 : https://pypi.org/project/robotframework/#installation
Robot Framework 使用【1】-- 基于Python3.7 + RIDE 最新版本搭建的更多相关文章
- Robot Framework学习笔记(六)------RIDE界面说明
RIDE是一款专门用来编辑Robot Framework用例的软件,用Python编写并且开源. 1.测试项目.测试套件Edit 标签 测试项目和测试套件所提供的 Edit 标签的功能是一样的. 在 ...
- Robot Framework学习笔记(八)------ride标签使用
一.edit标签使用 1.导入库 点击 Edit 标签页右侧的"Library"按钮,来添加库.在添加库之前,首先库已经在 Python 下进行了安装.如,添加"Sele ...
- 基于Python3.7的robotframework环境搭建步骤
一.前言 Robot Framework作为公司能快速落地实现UI自动化测试的一款框架,同时也非常适合刚入门自动化测试的朋友们去快速学习自动化,笔者计划通过从搭建逐步到完成自动化测试的过程来整体描述它 ...
- Python3第三方组件最新版本追踪实现
一.说明 在安全基线中有一项要求就是注意软件版本是否是最新版本,检查是否是最新版本有两方面的工作一是查看当前使用的软件版本二是当前使用软件的最新版本.在之前的“安全基线自动化扫描.生成报告.加固的实现 ...
- Python3+Robot Framework+RIDE安装使用教程
一.说明 Python3----网上很多文章都是用Python2,Robot Framework的部分文档没更新也直接写着不支持Python3(如RIDE does not yet support P ...
- 【Robot Framework】---- Robot Framework简介、特点、RIDE
Robot Framework简介.特点.RIDE 一.简介.特点. Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型 ...
- 最新 robot framework安装
相信大家对robot framework并不陌生,它是一个基于Python语言,用于验收测试和验收测试驱动开发(ATDD)的通用测试自动化框架=,提供了一套特定的语法,并且有非常丰富的测试库. Pyt ...
- Robot Framework + Selenium library + IEDriver环境搭建
转载:https://www.cnblogs.com/Ming8006/p/4998492.html#c.d 目录: 1 安装文件准备2 Robot框架结构3 环境搭建 3.1 安装Python ...
- robot framework 安装
一.安装 Python 2.7 pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.13已包含) Robot Framework (此工具本身) wxPyt ...
随机推荐
- 514 ,css不同选择器的权重(css层叠的规则)
!important规则最重要,大于其它规则 行内样式规则,加1000 eg,<html> <head> </head> <body> & ...
- windows 安装 cordova
windows 安装 cordova 参考资料:https://www.cnblogs.com/bpdxqx/p/6061719.html 1.安装nodejs(自动包含npm) 2.在命令行中通过n ...
- 使用datatable动态添加的顺序与存储的顺序不一致
原因是datatable在展示数据的时候帮助我们排序了 将其禁止排序即可:"ordering":false
- luckyframe的一些坑
建议使用idea运行 1.第一次运行访问http://localhost:8088/LuckyFrameServer 2.luckyframe提示“javax.net.ssl.SSLKeyExcept ...
- IntelliJ IDEA 2017.3尚硅谷-----修改当前主题字体、字体大小、行间距、控制台、注释
- Java+Selenium自动化测试学习(一)
自动化测试基本流程 1.设置chromedriver的地址System.setProperty(); 2.创建一个默认浏览器ChromeDriver driver = new ChromeDriver ...
- 喵星之旅-狂奔的兔子-基于docker的rabbitmq安装
docker安装参考:喵星之旅-狂奔的兔子-docker安装和基本使用 一.查询镜像名称 由于我们要安装的是有web管理页面的,不能直接拉取,需要指定版本. 登录docker仓库查询:https:// ...
- 计算几何-LA2218-HPI-第一次卡精度-vijos1087-铁人三项
This article is made by Jason-Cow.Welcome to reprint.But please post the writer's address. http://ww ...
- MongoDB_05_更新和删除
文档的更新和删除 更新文档的方法: db.collection.update(query,update,options) //或 db.collection.update( <query> ...
- vue 对象数组中,相邻的且相同类型和内容的数据合并,重组新的数组对象
在项目中,有时候会遇到一些需求,比如行程安排,或者考勤状态.后台返回的获取是这一周的每一天的状态,但是我们前端需求显示就是要把相邻的且状态相同的数据进行合并,所以我们就要重新组合返回的数据.如下所示: ...