Robotframework自动化测试环境搭建

🍅 视频学习:文末有免费的配套视频可观看

🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快

前言

1、在2019年之前,robotframework-ride的版本一直是1.5.2.1,是2016年1月份的版本,只能安装在python2.7的环境上,导致如果想同时使用robotframework做测试且又需要python3环境编写python代码的小伙伴都需要在操作系统上安装两个python环境(2.7和3.7)。

2、2019年,robotframework终于迎来的这次万众瞩目的更新算是解决了此问题,从此只需要安装python3.6以上的python环境即可。

安装robotframework自动化测试环境

一、下载并安装Python3.7.4(注意:不要安装最新的3.8的版本,如存在旧版本先卸载)、并配置python的环境变量。

(1)下载并安装python3.7.4

进入python官网地址:https://www.python.org/ 选择Downloads–>Windows选项。如下图所示:

在打开的页面中选择pythong3.7.4 windows64位的版本。如下图所示:

下载后双击安装,修改安装路径到C:\Python37 (注意:环境配置以此地址为例),其他的是无限点【下一步】直到完成。

(2)配置Python环境变量:右击我的电脑–>属性–>高级系统设置–>高级–>环境变量–>找到path变量点击"编辑"按钮–>在path的最前面加入如下内容。

C:\Python37;C:\Python37\Scripts; (注意:C:\Python37为Python的安装路径,如安装路径不同请更改)

二、下载谷歌浏览器以及谷歌浏览器对应版本的驱动包。(顺带也加入火狐浏览器以及火狐浏览器的驱动包下载地址)

1、下载浏览器:Chrome和Firefox的其中之一。

(1)谷歌浏览器:https://www.google.cn/intl/zh-CN/chrome/ 下载最新版如图所示:

(2)火狐浏览器:http://www.firefox.com.cn/download/#more 下载延长版

2、下载浏览器驱动包:查看谷歌浏览器的版本并下载Chrome浏览器对应版本的驱动包(大版本相同即可)

Chromedriver谷歌驱动:http://npm.taobao.org/mirrors/chromedriver/

Geckodriver火狐驱动:https://github.com/mozilla/geckodriver/releases

注意:驱动包版本需要和对应的浏览器版本大版本一致。下载后放到python的目录下:如:C:\Python37

三、安装robotframework和robotframework-ride

1.安装robotframework

在dos中输入命令:pip install robotframework,直到出现如下界面表示安装成功!(因网络原因报错,可以重复运行命令直到安装成功为止。)

2.安装robotFramework-ride (这个为rf的IDE集成开发环境)

在dos中输入命令:pip install robotframework-ride,这里可能需要一段时间,请耐心等待。出现如下界面表示安装成功。

其中安装了:Pygments,Pypubsub,robotframework-ride,robotframework-exer,wxPython等。

在dos中输入pip list查看检查上述软件是否安装,以及他们的版本。如下图所示:

进入C:\Python37\Scripts目录下,右击ride.py,选择使用python打开。出现RIDE界面表示RIDE安装成功。

四、安装Selenium2Library包

因为我们要做的是UI自动化测试,那么它对应的类库为:Selenium2Library,所以需要安装Selenium2Library。在dos中输入命令:pip install robotframework-Selenium2Library,出现如下界面表示安装成功。 

到此使用robotframework工具开发UI自动化的环境则已经安装完成。那么接下来则是如何使用robotframework并验证这个自动化的测试环境是否有问题。接下来使用robotframework实现一个案例。 

五、使用robotframework实现一个案例

1.在RIDE中新建一个UI自动化项目、在RIDE的菜单栏点击File–>new Project,如下图所示:

2.在项目上新建一个测试套件,项目Ecshop上右击、new–>New Suite,如下图所示:

然后在Suite中导入Selenium2Library。左键点击【登录】套件,导入Selenium2Library类库,如下图所示

3.在套件上新建一个测试用例,套件【登录】上右击,New TestCase

4.编写用例,打开谷歌浏览器。


5.运行后自动打开谷歌浏览器并加载百度首页则表示robotframework自动化测试环境终于完美啦,接下来就是熟悉各种操作浏览器的关键字以及自动化测试的四层架构(元素层,业务层,用例层,流程层)了。

错误解决:

1、application.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()

解决方案:

根据如上提示信息,找到 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)

2、没有权限报错

在使用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 文件 – 选择 管理员取得所有权 即可。

总结

最后祝大家都能找到心仪的工作,快乐工作,幸福生活,广阔天地,大有作为。我也整理了一波之前发布的软件测试文档【点击文末小卡片免费领取】,无套路领取!

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

软件测试视频教程观看处:

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/327123.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【HTML5】 canvas 绘制图形

文章目录 一、基本用法二、用法详见2.0、方法属性2.1、绘制线条2.2、绘制矩形2.3、绘制圆形2.4、绘制文本2.5、填充图像 一、基本用法 canvas 标签:可用于在网页上绘制图形(使用 JavaScript 在网页上绘制图像)画布是一个矩形区域&#xff0c…

用 YAML 文件配置 CI/CD 管道

MSBuild 参数: 在使用 MSBuild 命令行生成打包项目(就像在 Visual Studio 中使用向导生成项目一样)之前,生成过程可以通过编辑 Package.appxmanifest 文件中 Package 元素的 Version 属性,来对生成的 MSIX 包进行版本控制。 在 Azure Pipelines 中,可以使用某个表达式来…

B端产品经理学习-B端产品的项目管理

项目管理的作用 指导Roadmap落地 每个节点的项目时间需要按照时间点落地,才不会影响后面的项目事件 为了明确需求,明确研发的工作 避免产研部门因为需求扯皮、研发部门抱怨需求文档不够清晰、在开发过程中增加很多细节需求、增加了研发的工作量、初次…

散列函数,哈希表hash table

附上一句话:我知道大家可能曾经了解过这个散列表了,我发现,如果多看几个相关的视频,从不同的表述方式和不同的理解角度来理解这个问题,我会明白的更透彻,也有更多新的收获,尤其是对这个算法的应…

软考和 PMP 哪个含金量更高点?

两个证都有用,不同的环境含金量也侧重不用,软考高项比较适用于计算机 IT 行业,而 PMP 不受行业限制,各行各业都适用,没有哪个含金量更高的说法 至于哪个更合适,看你想去国企还是民企,国企软考吃…

MiniTab的拟合回归模型的系列参数设置

为拟合回归模型指定模型项 统计 > 回归 > 回归 > 拟合回归模型 > 模型 可以向模型添加交互作用项和多项式项。默认情况下,模型仅包含在主对话框中输入的预测变量的主效应。添加项的方法有很多。假设预测变量列表具有 3 个连续变量 X、Y、Z 和 2 个类别…

Python自动化我选DrissionPage,弃用Selenium

DrissionPage 是一个基于 python 的网页自动化工具。 它既能控制浏览器,也能收发数据包,还能把两者合而为一。 可兼顾浏览器自动化的便利性和 requests 的高效率。 它功能强大,内置无数人性化设计和便捷功能。 它的语法简洁而优雅&#x…

如何隐藏服务器真实IP地址,隐藏服务器IP有什么好处

首先我们介绍了隐藏服务器IP的概念及工作模式,接着阐述了其对于DDoS攻击的防护作用。然后介绍了如何利用隐藏服务器IP增加系统性能和稳定性。接着我们讲述了如何隐藏服务器IP防止黑客攻击,最后总结了隐藏服务器IP在保护服务器和用户数据方面发挥的作用。…

UE4使用技巧

打开蓝图编辑器时不是打开一个新窗口,而是作为主窗口 适用于全部的打开新窗口的操作 蓝图编译时自动保存 开始游戏后立即捕获鼠标

系统性学习vue-vue中的ajax

vue中的ajax 配置代理常用发送Ajax请求方式跨域方式一方式二 vue-resource插槽默认插槽具名插槽作用域插槽 配置代理 常用发送Ajax请求方式 xhr new XMLHttpRequest() 在真正开发中不常用,比较麻烦jQuery 封装了xhraxios 封装了xhr 与jQuery相比优势是&#xff1a…

C# 导出EXCEL 和 导入

1.导出 使用winfrom简单做个界面 选择导出路径 XLSX起名字 打开导出是XLSX文件 代码部分 // 创建Excel应用程序对象Excel.Application excelApp new Excel.Application();excelApp.Visible false;// 创建工作簿Excel.Workbook workbook excelApp.Workbooks.Add(Type.Miss…

C++学习笔记——用C++实现树(区别于C)

树是一种非常重要的数据结构,它在计算机科学中的应用非常广泛。在本篇博客中,我们将介绍树的基本概念和C中如何实现树。 目录 一、树的基本概念 2.C中实现树 2.1创建一个树的实例,并向其添加节点 2.2三种遍历方式的实现代码 3.与C语言相…

(2024,强化学习,提示扩展,原始提示中心引导)Parrot:用于文本到图像生成的帕累托最优多奖励强化学习框架

Parrot: Pareto-optimal Multi-Reward Reinforcement Learning Framework for Text-to-Image Generation 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 3. 基础 4. 方法 4…

MR-GCN

∘ Φ \circ_Φ ∘Φ​ denotes a convolution Let b l o c k d i a g blockdiag blockdiag(A) be a n1n3-by-n2n3 block diagonal matrix, f o l d fold fold indicate its inverse operator diagonal degree tensor D \mathcal{D} D 作者未提供代码

【漏洞复现】Sentinel Dashboard默认弱口令漏洞

Nx01 产品简介 Sentinel Dashboard是一个轻量级的开源控制台,提供机器发现以及健康情况管理、监控、规则管理和推送的功能。它还提供了详细的被保护资源的实际访问统计情况,以及为不同服务配置的限流规则。 Nx02 漏洞描述 Sentinel Dashboard存在默认弱…

AI智能剪辑,快速剪辑出需要的视频

AI智能剪辑技术,是一种基于人工智能的技术,它能够通过机器学习和深度学习算法,自动识别视频中的内容,并根据用户的需求和喜好,快速地剪辑出需要的视频。 所需工具 : 一个【媒体梦工厂】软件 视频素材 …

通过FTP和HTTPD,搭建内网yum仓库

一、yum仓库的简介 1.yum介绍 yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为li…

ssm基于spring和vue开发的web新闻流媒体平台论文

摘 要 如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法&#x…

C#--核心

CSharp核心知识点学习 学习内容有: 绪论:面向对象的概念 Lesson1:类和对象 练习: Lesson2:封装--成员变量和访问修饰符 练习: Lesson3:封装--成员方法 Lesson4:封装--构造函数和析构函数 知识点四 垃圾回收…

程序员接私活还不知道这几个平台?那你真的亏了!

程序员接私活现在已经是一个老生常谈的话题了,现在市面上各种程序员接单平台层出不穷,也参差不齐,有比较老牌的知名平台,也有比较好的新兴平台,如此多的平台就容易让人眼花缭乱,不知道该如何选择。 这期文…