百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

RobotFrameWork Web自动化测试之测试环境搭建

toyiye 2024-06-21 12:28 10 浏览 0 评论

前言

Robot Framework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD),支持python,java等编程语言(百度百科)。功欲善其事必先利其器,在学习RF之前同样需要搭建开发环境,包括运行环境的搭建,web自动化测试环境的搭建,所以今天会讲解3种RF测试环境的搭建--RIDE,Pycharm及Eclipse,你可以根据自己的喜好选择使用哪种环境做RF自动化测试。

一、python安装

由于我们主要使用python环境开发RF脚本,因此python的安装是必不可少的,但是今天不过多介绍,网上教程很多,安装过程也很简单

1.1浏览器驱动安装

浏览器及浏览器驱动的安装是做web自动化测试必不可少的部分,当然,这里还是省略配置步骤,网上教程依然很多,提供一个下载Chrome驱动的链接

https://npm.taobao.org/mirrors/chromedriver

1.2RIDE环境配置

1.2.1安装RIDE

RIDE一般是初学者习惯使用的开发RF脚本的一个工具,具有图形化的界面,使用简单,无需手动编写python代码,学习成本比较低,而且安装很简单!

打开CMD,执行 pip3 install robotframework-ride命令即可

安装完RIDE后,我们打开python的安装目录下的Script目录,会发现多了一个ride.py和robot.exe文件

ride.py就是RIDE GUI的启动程序,我们可以双击启动一下看看是否能够打开RIDE的GUI界面,如果打开后出现下面的界面,说明RIDE工具已经安装成功了,是不是很简单?

1.2.2疑问

1. 有的小伙伴可能会有个疑问,为什么网上找的教程那么复杂,还要安装wxPython,robotframework库?

答:如果使用RIDE工具,以上的依赖库确实需要安装,因为RIDE GUI是wxPython实现的,而使用RF框架又要依赖robotframework库,我这里没有单独安装,是因为在安装robotframework-ride的时候,pip已经给你安装好了这些依赖^-^,不信可以看看前面的截图,如果你再安装过程种没有自动安装依赖环境,那么就手动使用pip命令安装一下这几个库即可

2. 安装完RIDE,但是打不开GUI页面,怎么办?

答:因为执行ride.py需要使用python解释器,设置一下ride.py文件的执行方式为python的解释器即可

1.3安装seleniumlibrary

seleniumlibrary库是基于selenium做的二次封装库,主要针对RF使用的版本,因此需要安装才能使用RF实现web自动化测试

打开CMD执行pip3 install robotframework-seleniumlibrary命令即可

同样,在安装这个库的时候,selenium同样会被自动安装,因为robotframework-seleniumlibrary是基于selenium封装的,针对RF框架实现web自动化测试的依赖库

ok,到目前为止,所有的环境都已经安装完成,我们可以写一个简单的脚本测试一下环境是否存在问题

1.4环境测试

具体脚本如何编写,这里不做介绍,我只写了一个打开浏览器访问百度首页的一条脚本

如果你看到以下输出信息并且浏览器被成功打开那么说明你的环境已经搭建成功,可以学习如何使用RF编写自动化测试脚本了

1.5执行结果

1.6小结

RIDE对于初学者,使用起来还是比较方便的,可以查看关键字的使用,编写脚本可以通过填写表格的方式完成,也可以直接编写代码,但是没有智能提示,也不会自动补全代码,写起来比较累

二、Pycharm环境配置

作为一个专注于python语言的开发者,最喜欢使用的IDE首选就是pycharm,因为他功能强大,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发,那么长时间以来,你可能会形成一种依赖,不管做什么开发都希望使用pycharm,因为你已经足够了解它并且爱上它,那么做RF自动化能不能使用pycharm讷?当然,这么强大的工具干啥不行讷?接下来我们就讲解以下如何使用pycharm搭建RF的web自动化测试环境

使用pycharm配置RF做web自动化测试之前,同样需要安装selenium,robotframework,robotframework-seleniumlibrary,浏览器及浏览器驱动,不需要robotframework-ride,你可以按照以下方式安装

pip3 install selenium

pip3 install robotframework

pip3 installl robotframework-seleniumlibrary

由于我上面在配置RIDE的时候已经安装过了,所以接下来就不需要再安装这个几个库了

2.1pycharm安装

安装步骤这里也不再赘述,百度一堆一堆,破解方法也一堆一堆

2.2安装intelliBot插件

这个插件主要为了Pycharm能够识别RF脚本及编写执行RF脚本

打开Pycharm-点击右上角【File】-选择【Setting】-点击【Plugins】

搜索框输入intelliBot,点击上图中的Install,等待安装完成

注意:安装完插件之后需要重启pycharm

2.3配置RF的文件类型识别

同样打开【Setting】-选择【Editor】-点击【File Types】-在右侧文件列表中找到【Robot Feature】,并添加RF脚本所有的文件类型

配置完保存即可

2.4Suite和Case的运行配置

因为RF框架编写的测试脚本是无法使用python解释器运行的,它有自己的执行脚本程序robot.exe,这个程序再执行pip3 install robotframework 时自动安装,存在于python安装目录的script目录下

2.5配置Suite

打开pycharm的设置-选择【Tools】-选择【External Tools】,右侧窗口点击【+】号并填写如下配置信息

name:可以随意取名字,但是最好还是按照图片中的名字写,见名知意

Program:robot.exe程序所在的目录

Arguments:-d 指定存放报告的目录名 报告名字(系统自动命名的报告名)

Working directory:当前的项目目录

配置完成后保存

2.6配置Case

同上步骤设置,填写如下图的配置信息

Arguments:-t 后面表示执行鼠标选中的测试用例(注意:需要选中测试用例名,而不是把鼠标放到用例名上)

2.7运行用例

配置完以上环境后,项目中选择某个测试套件或者套件中选中单个测试用例名,右键选择【External Tools】-选择对应执行方式即可执行测试用例或套件

2.8环境测试

同样使用pycharm编写一段打开浏览器,访问百度首页的脚本,然后分别选择运行测试套件和运行单个测试用例,看一下是否成功

脚本

*** Settings ***
Library    SeleniumLibrary    
    
*** Test Cases ***
打开浏览器
    SeleniumLibrary.Open Browser    https://www.baidu.com    Firefox

当运行脚本时,如果你看到浏览器正常打开,且输出的信息中测试用例或者套件全部通过,表示环境配置成功

三、Eclipse环境搭建

单独搭建Eclipse集成RF做web自动化测试之前, 同样需要安装selenium,robotframework,robotframework-seleniumlibrary,浏览器及浏览器驱动,不需要robotframework-ride

3.1安装JDK

Java JDK真是无处不在,这里也不讲解JDK安装过程了,相信对所有开发人员来说,JDK的安装已经是必不可少的了

3.2安装Eclipse

下载

我下载的是4.10版本的,Eclipse配置RF最好选择Mars(Eclipse版本代号)4.5以上

下载完成后解压到指定目录,然后双击运行Eclipse.exe并设置一个工作目录即可运行Eclipse编辑器

3.3安装robotframework-ide

robotframework-ide就是RED,是Eclipse运行RF和编写RF脚本的插件,以下链接是RED官网

https://github.com/nokia/RED

官网介绍了配置Eclipse的RF的方法,可以参考一下

打开Eclipse-菜单选择【help】-点击【install new software】-点击【Add】

name:随便输入

location:输入 http://master.dl.sourceforge.net/project/red-robot-editor/repository

add之后会出现以下页面

直接一路Next,安装过程会提示重启Eclipse,重启即可

3.3配置python版本

重启后需要配置一下安装了robotframework的python解释器

打开【window】-选择【preferences】

这里的解释器会自动识别出来,如果不会自动识别,可以点击add手动添加,接下来点击【Apply and Close】即可

3.47配置RF的标识,变量,关键字自动补全

点击【windows】 - 【preference】 - 【RobotFramework】 -【 Editor】 - 【Content Assitant】加上如下内容:

.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@&*

3.5修改Eclipse中文编码

四、配置python解释器

如果你不打算使用Eclipse编写运行python脚本,那么你可以跳过此步骤,但是如果你后期想使用python开发关键字,那么可以选择安装,Eclipse编写python解释器,需要依赖pyDev插件

4.1安装pyDev

原装RED的方式相同,打开Eclipse-菜单选择【help】-点击【install new software】-点击【Add】

name:随便输入

location:输入 http://pydev.org/updates

一路Next,等待安装完成,安装时会提示重启Eclipse,选择重启即可

重启后,点击【windows】 - 【preference】 - 【PyDev】 -【 Interpreters】 - 【Python Interpreter】按照下图设置python解释器

点击【ok】,弹窗后选择对应目录

点击【ok】之后等待加载完毕,保存所有的操作,接下来就可以使用Eclipse创建python项目,编写python代码了

4.2环境测试

接下来我们就可以编写脚本验证一下我们的环境是否存在问题了,如何新键RF项目,编写RF脚本这里先不讲解,我还是使用之前编写的脚本,打开火狐浏览器访问百度首页来验证环境,如果环境没问题你会看到如下输入

总结

目前为止所有的能够编写RF脚本的3种环境都已配置完成,3个环境各自有各自的优缺点

RIDE:适合初学者,不喜欢写代码或者对代码不是很精通的测试人员,主要以填写表格的形式开发脚本

Pycharm:pycharm对RF脚本的支持不是很好,这也不能怪pycharm,因为配置RF的插件不给力,没那么多功能,使用起来不太友好

Eclipse:对于Eclipse来说,它的RF插件(RED)比较强大, 既可以支持表格形式编写脚本,又可以使用纯代码的方式编写脚本,支持代码自动补全,高亮显示,最主要一点可以查看所有的关键字的帮助文档,并且对于喜欢直接写RF脚本代码的同学来说,使用起来很友好。

最后喜欢的小伙伴可以点赞收藏加关注哟。今天的文章就分享到这里了哟。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码