全网最全robotframework自动化测试环境搭建

news2024/12/23 9:30:12
一、前言

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自动化测试环境

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

 (1)下载并安装python3.7.4

 进入python官网地址:Welcome to Python.org      选择Downloads-->Windows选项。如下图所示:

      

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

      

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

      (2)配置Python环境变量:

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

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

      

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

(1)下载浏览器:Chrome和Firefox的其中之一。 谷歌浏览器: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 文件 -- 选择 管理员取得所有权 即可。
Windows 10操作系统,右击 ride.py 文件 -- 选择 授予访问权限 -- 特定用户 -- 选择自己登录Windows10的账号共享即可。 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Golang 读取文件

GoLang读取文件需要用到os类去打开文件,然后再用其他方式分析文件里的内容。打开文件比较简单,使用os.Open就可以了,记住用defer关闭就行。但是读取文件内容就头疼了,以文本文件为例子,就有各种方式 读取到byte数组 首…

渐进式衰老?医美三剑客的“市梦率”幻灭了

医美股神话彻底幻灭了。 从股价蒸发到业绩失速,“医美三剑客”上演着繁华落幕,回归平凡的剧本。 近一年来,爱美客、华熙生物、昊海生科股价分别累计下跌52.97%、46.03%、16.09%。 “医美三剑客”近一年累计跌幅(资料来源&#x…

分水岭算法简介

分水岭算法是一种经典的图像分割技术,广泛应用于图像处理领域。它的名称源自地理学中的“分水岭”概念,即在地形中,水从高处流向低处,最终汇聚成河流的过程。在图像分割中,分水岭算法将灰度图像视为地形,将…

STM32(八):定时器——输入捕获实验

目录 输入捕获模式测频率: 结构图: 步骤: 部分函数详解: 源码: PWMI模式测频率占空比: 结构图: ​编辑 举例说明 源码: 输入捕获模式测频率: 结构图&#xf…

using showdown js with openAi streaming response

题意:"使用 Showdown.js 处理 OpenAI 流式响应" 问题背景: I tried using showdownjs to translate streamed markdown from OpenAi to HTML "我尝试使用 Showdown.js 将来自 OpenAI 的流式 Markdown 转换为 HTML" I changed the …

机器学习第五十四周周报 MAGNA

文章目录 week54 MAGNA摘要Abstract一、文献阅读1. 题目2. Abstract3. 文献解读3.1 Introduce3.2 创新点 4. MAGNA4.1 基础4.2 多跳注意力扩散机制4.3 网络架构4.4 图注意力扩散机制的分析 5. 实验分析5.1 节点分类5.2 知识图谱 6.结论 二、若依系统1. 权限管理2. 数据字典3. 其…

【Linux修行路】进程通信——共享内存

目录 ⛳️推荐 一、直接原理 1.1 共享内存的的申请 1.2 共享内存的释放 二、代码演示 2.1 shmget 2.1.1 详谈key——ftok 2.2 创建共享内存样例代码 2.3 获取共享内存——进一步封装 2.4 共享内存挂接——shmat 2.5 共享内存去关联——shmdt 2.6 释放共享内存——s…

gitee版本控制

前置要求: 安装Git git下载地址:https://git-scm.com/download/win 注册gitee gitee官网:Gitee - 基于 Git 的代码托管和研发协作平台 创建普通项目 目录 git推送远程仓库基本操作 克隆仓库到本地 项目上传 版本管理 分支管理版本…

紧急 浮毛正在挑战免疫系统?推荐榜TOP3浮毛空气净化器使用体验

作为一名多猫家庭的铲屎官,出门路人必知道我养猫,不是把铲屎官三个字大大的打在我脑门上了。而是衣服、裤子上无处不在的猫毛,以前我就靠着人力与各种工具与猫毛斗争,但效果总是差强人意。直到有一天,我因忽视浮毛而患…

Linux 用户缓冲区

1. 文件描述符的分配规则 我们知道Linux进程默认情况下会有3个缺省打开的文件描述符,分别是标准输入stdin--0, 标准输出stdout--1, 标准错误stderr--2。0,1,2对应的物理设备一般是:键盘,显示器,显示器.接下…

字符串原始字面量

简介:C11中添加定义了原始字符串的字面量,定义方式为:R"xxx(原始字符串)xxx",其中()两边的字符串可以省略。原始字面量R可以直接表示字符串的实际含义,而不需要额外对字符串做转译或链接等操作 …

ddpm和ddim小记

前面分析了DDPM和DDIM,但是仍然感觉对其理解不是和透彻,最近又学习了下,简单记录一下进一步的理解。为了方便理解,这里直接以两个像素的灰度图像为例。前面讲过无论是DDPM还是DDIM,他们的训练过程都是一样的&#xff0…

一套采用JAVA语言开发的数字化产科管理平台源码,自主知识产权,三甲综合医院应用案例,系统稳定运行,全套源码交付。

一套采用JAVA语言开发的一套数字化产科管理平台源码,自主知识产权,三甲综合医院应用案例,系统稳定运行。全套源码交付。 数字化产科管理平台源码技术栈: 技术架构:前后端分离 开发语言:Java 开发工具…

深度学习基础--梯度下降与初始化

在神经网络的背景下,它们用于寻找能够最小化损失函数的参数,使模型能够根据输入准确预测训练数据的输出。基本方法是随机选择一组初始参数,然后逐步进行微小调整,平均而言这些调整会降低损失。每一次的调整都是基于当前参数位置对…

ERROR: Cannot uninstall numpy 1.24.2, RECORD file not found.

目录 1.问题描述:2.解决方法:2.1流程2.2结果 小结: 1.问题描述: 卸载 numpy 时报错: ERROR: Cannot uninstall numpy 1.24.2, RECORD file not found. You might be able to recover from this via: pip install --f…

HTB-sequal(mysql)

前言 各位师傅大家好,我是qmx_07,今天给大家讲解sequal这台靶机 渗透过程 信息搜集 服务器开放了3306mysql端口思路:mysql爆破-sC参数会执行 相关的默认脚本 连接mysql数据库 通过空密码连接道mysql数据库flag:7b4bec00d1a39…

【GD32】从零开始学GD32单片机 | USB通用串行总线接口+HID键盘例程(GD32F470ZGT6)

1. 简介 USB,全称通用串行总线,相信大家都非常熟悉了,日常生活只要用到手机电脑都离不开这个接口,像鼠标键盘U盘都需要使用这个接口进行数据传输,下面简单介绍一下。 1.1 版本标准 USB的标准总体可以分为低速、全速和…

04:布局规划

1.切换到丝印层 2.用2D线对模块区域划分

keil5烧录后不自动复位和Flash Download failed - “Cotex-M3“报错解决

目录 项目场景: 复位问题描述 复位原因分析: 复位解决方案: 下载错误问题描述 下载错误原因分析: 下载错误解决方案: 总结 项目场景: keil5编译stm32例程在烧录时候遇到的一些问题 复位问题描述 1. 使…

全面解读LSC局域网屏幕监控软件:功能、优势与应用场景一网打尽!

在信息化高速发展的今天,企业管理的效率和精准度成为决定竞争力的关键因素。 LSC局域网屏幕监控软件(LAN Screen Capture),作为安企神推出的一款专为现代企业量身打造的超级局域网监控管理软件,以其强大的功能和灵活的…