RobotFramework自动化测试框架的搭建

2024-03-24 05:28

本文主要是介绍RobotFramework自动化测试框架的搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        最近组长说要开始搞自动化,和同事交流发现他在用的是RF框架的自动化,所以就打算在本地安装下来试试,但是没想到就是最开始的搭建环境就让我搞了两三天,现在把搭建过程踩的坑记录一下,也算是个总结。

一、RobotFrame框架简介

学习视频:RF自动化测试框架ROBOTFRAMEWORK、0基础都能听懂_哔哩哔哩_bilibili

(1)RobotFramework简称:RF框架

(2)RF框架的特点:基于python语言开发,具有可扩展性,以关键字驱动的自动化框架

(3)RF的版本:2019年7月发布的版本支持python3.7

知识拓展:常用的自动化测试框架有两种驱动模式:一种是关键字驱动,另一种是数据驱动。二者的区别在于关键字驱动:将一些常用的功能封装成关键字,直接调用关键字即可实现该动作或操作;数据驱动:把数据放在文件(excel或yaml)中驱动测试用例执行。

(4)RF的优点

  1.     1.编写测试用例简单,可以直接用robot\txt格式编写
  2.     2.自动生成HTML格式的报告和日志
  3.     3.自带多个类库和扩展类库
  4.     4.可以根据项目需要自定义一些关键字
  5.     5.可以使用GUI的方式运行,也可以和svn\git以及jenkins持续集成

(5)RF编写测试用例的步骤

  1. 创建测试模块new project
  2. 创建测试套件new testsuit
  3. 创建测试用例new testcase

二、RobotFramework环境搭建

RobotFramework环境搭建大致可以分为以下四个步骤:

步骤一:安装python

步骤二:安装RobotFramework

步骤三:安装robotframework基础依赖

步骤四:启动ride

参考文章:基于Python3.7的robotframework环境搭建步骤_python3.7安装robotframework-CSDN博客

步骤一:安装python

1.python下载

        下载地址:Download Python | Python.org 

        python下载建议是下载3.7.0以上版本的,我这里下载的是python3.7.3版本。

知识拓展:python不同安装包的区别:

 1、embeddable zip file:压缩包下载,解压安装。下载的是一个压缩文件,解压后即表示安装完成。但是压缩文件会导致很多东西丢失,影响后续其他东西的安装,所以非常不建议使用这个。

 2、executable installer:独立安装程序,下载的是一个exe可执行程序,直接双击运行安装可以,而且还可以自动配置环境变量,很方便,推荐使用

 3、web-based installer:下载的也是一个exe文件,但是需要联网才能安装,所以也不建议使用。

参考文章:Python下载三种安装区别web-based installer、executable installer、embeddable zip file-CSDN博客

2.python安装:

        下载好之后直接以管理员身份运行.exe文件,根据提示进行安装就好。有两个要注意的点就是:一个要记得修改安装路径,不要放在C盘;第二个就是要记得勾选自动添加桌面快接方式和添加环境变量。这些也都算是基本操作了,在这里再强调一下。

        安装好之后以管理员身份打开dos窗口,输入命令“python”,如下图显示版本好就证明python下载成功了。

步骤二:安装RobotFramework

        python安装好之后就可以安装RobotFramework,有一点要注意的就是安装的版本必须要和python对应,如果是使用3.8版本以上的python的话直接安装最新版本的RobotFramework就可以,如果是其他版本的话安装的时候就必须要在最后加上一个版本号。

        确认要下载的版本后以管理员身份打开dos窗口,输入命令“pip install robotframework==3.1”(如果直接使用不带版本好的命令“pip install robotframework”,的话这样下载的是最新版本)看到如下图所示的successfully并且没有什么报错那么证明robotframework下载成功了。


RobotFramework官方操作手册:

https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#installing-using-pip

步骤三:安装RIDE

        RIDE是RF框架的一个可视化的编辑器,它编写测试用例的界面像一个表格,所以使用起来很方便。正常情况下安装RIDE直接在dos窗口输入命令“ pip install robotframework-ride”就可以了,但是安装的时候一直提示请求超时,最后找到了一个方法是通过指定一个镜像路径进行安装,这样就可以成功啦。具体操作直接执行以下命令就可以了。

        1.在线安装 Pypubsub

        在dos命令中输入“pip install Pypubsub”

         2.在线安装 wxPython

        在dos命令中输入“pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com wxPython==4.2.0”

        3.在线安装 robotframework-ride

        在dos命令中输入“pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com robotframework-ride”

        4.检查已安装的工具包

        在dos命令中输入“pip list”

拓展知识:RIDE工具包:

wxPython:wxPython是Python语言的一套优秀的GUI图形库;

PyPubSub:PyPubSub支持在应用程序的对象之间发送和接收消息;

Pygments:Pygments是一种通用语法高亮显示工具;

numpy:numPy是使用Python进行科学计算的基本软件包,可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多;

six:six是Python 2和3兼容性库,它提供了一些实用程序函数,用于消除Python版本之间的差异,目的是编写在两个Python版本上都兼容的Python代码;

pillow:Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持python2和python3。

参考文章:macbook python编译器_Mac环境搭建Robot Framework(3.1版本)+Python(3.7.6版本)自动化测试框架...-CSDN博客

步骤四:启动ride

        方法一:在dos中输入“ride.py”或者输入“python  ride.py”

        可以看到这个编辑器被成功的打开了:

        方法二:创建桌面快捷方式,通过点击桌面图标打开文件

        直接在python文件夹中找到scripts文件夹下的ride.py文件(也就是路径D:\Program Files (x86)\python3.7.3\Scripts),选中-右键-创建桌面快捷方式。

        更改图标:在快捷图标上【右键】-【属性】-【更改图标】,找到RIDE图标的路径:D:\Program Files (x86)\python3.7.3\Lib\site-packages\robotide\widgets\robot.ico

注意:D:\Program Files (x86)\python3.7.3前面这节是python在本电脑的安装路径。

        运行程序:更改后可以看到一个笑脸一样的图标,双击运行就可以打开了。

三、RobotFramework搭建过程的问题及解决方法

问题一:安装超时

        报错:ReadTimeoutError: HTTPSConnectionPool (host=‘files.pythonhosted.org’, port=443):Readtimedout. 

        问题描述:直接执行“ pip install robotframework-ride”这个命令的时候,发现执行到下载wxpython的时候就开始报错,最后直接显示的是超时了(read time out)。

        问题解决:找了很多方法,请求超时可能是因为网络不稳定导致的,毕竟python是个国外的东西,所以这个时候安装就需要指定一个国内镜像源进行下载,相当于找到一个国内的应用商城进行下载,具体方法就是【pip install 应用名 -i 指定的国内镜像源】,注意,这个镜像源是在本地可以正常访问的一个网址,应用名可以放在install后面,也可以放在链接后面。比如:“pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com robotframework-ride”

问题二:RIDE桌面快捷方式打开后是一段代码,不是编辑界面

        问题描述:双击RIDE的桌面图标打开之后是一段代码,不是编辑界面。就像下图所示:

        问题解决:这是可能是之前安装pycharm的时候设置了.py文件的默认打开方式是使用pycharm,这就导致打开的时候直接显示了ride.py这个文件的代码,相当于用文本编辑器把它打开了。此时需要找到桌面图标【右键】-【更改打开方式】-修改为【python】,这样就可以正常打开了。

问题三:RIDE打开后闪退

        问题描述:RIDE打开时闪退。

        问题解决:pypubsub的版本比较低,导致RIDE运行不起来,所以先用命令“pip uninstall pypubsub”卸载掉旧版本,然后用命令“pip install pypubsub”直接安装最新版本就可以了。

问题四:RIDE打开后提示wxpython不是最新版本

        问题描述:打开RIDE之后弹窗提示wxpython版本较低,需要下载新的版本,并且也说明了新的版本是“4.2.0”。

        问题解决:所以我们只需要卸载掉旧版本,然后重新安装新的版本就好了。

问题五:No matching distribution found for ***

        问题描述:在安装应用的时候报错:No matching distribution found for pypubsub3.3.0

        问题解决:这个提示表示这样的安装方式不安全,不值得信任。所以解决方法就是在后面加上一段“trusted-host 域名”

参考文章:

No matching distribution found for numpy 安装numpy报错怎么办,看这里-CSDN博客

其他参考文章:

robotframework 安装清单 - 简书

这篇关于RobotFramework自动化测试框架的搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/840563

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python实现自动化表单填写功能

《Python实现自动化表单填写功能》在Python中,自动化表单填写可以通过多种库和工具实现,本文将详细介绍常用的自动化表单处理工具,并对它们进行横向比较,可根据需求选择合适的工具,感兴趣的小伙伴跟... 目录1. Selenium简介适用场景示例代码优点缺点2. Playwright简介适用场景示例代码

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统