百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

ccwgpt 2024-10-24 09:13 33 浏览 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脚本代码的同学来说,使用起来很友好。

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

相关推荐

ForkJoinPool的了解与使用(fork-join)

ForkJoinPool是一个强大的Java类,用于处理计算密集型任务。使用ForkJoinPool分解计算密集型任务并并行执行它们以获得更好的Java应用程序性能。它的工作原理是将任务分解为更小的子...

Netty 时间轮源码解析(时间轮java实现)

定时任务在中间件和业务系统中有很多应用,比如:注册中心中定期上报状态的心跳机制。RPC框架中定期扫描请求列表移除超时请求。延迟队列提交未来时间的任务。业务系统每日凌晨跑批处理或报表任务。Java原...

Autodesk基于Mesos的通用事件系统架构

【编者按】本文由AutodeskCloud软件架构师OlivierPaugam撰写,解释了如何集合Mesos、Kafka、RabbitMQ、Akka、Splunk、Librato、EC2等基础设施...

全局视角看技术-Java多线程演进史

作者:京东科技文涛全文较长共6468字,语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然。前言2022年09月22日,JDK19发...

为什么应该使用Dapr来构建事件驱动的微服务?

微服务架构从本质上来说是分布式的。构建微服务总是会遇到极具挑战性的问题,比如说弹性服务调用、分布式事务处理、按需扩容以及严格一次(exactly-once)的消息处理。将微服务放在Kubernet...

WEB前端开发学习流程(web前端开发简明教程)

相对web后端开发来说,web前端开发对大部分初学编程者比较友好,而且入门门槛低,就业范围广。是大部分转行学IT的一个首选方向。web前端开发工程师,主要进行网站浏览器的开发、优化、布局的工作。在了解...

《s24z 编程指南》大纲(AI 提示词)

由于AIGC的迅速发展,本教程《s24z编程指南》,尝试用如下方法:准备《编程指南》的大纲,按章节划分,每小节由相关知识点和文字组成。每次将一小部分文本,以提示词的形式,送入Kimi或Ch...

有哪些常用的Python后端开发框架?

以下为你介绍一些常用的Python后端开发框架,包含各自的特点、适用场景与示例代码:Flask特点:轻量级、灵活,核心代码简洁,几乎不强制开发者使用特定的工具和库,开发者可按需添加扩展。适用场景...

数学分析的结构(数学分析的结构方法)

一、基础结构层实数系统与集合论数学分析的根基建立在实数连续之上,通过集合论(如公理化集合论)定义数学对象的抽象结构。例如,实数集的完备性公理是数学分析区别于其他数学分支的关键特征。此外,点集拓扑学(如...

新手在学习Web前端时需要学习的内容汇总

Web前端开发因为入行门槛低,是很多人转行IT开发行业的首选,但想要成为一名合格的Web前端开发工程师同样要具备过硬的专业技能,而且想要学成后高薪快速的就业,过硬的技术是基本条件。那么,新手小白学习W...

基于 Kotlin KMP 实现 HarmonyOS 与 Android 双平台 SDK 开发实践

背景随着鸿蒙平台的进一步发展,大家的态度也逐渐从观望转向实际投入,越来越多的公司开始考虑将自家应用迁移到鸿蒙平台。但是这一过程并非想象中的那么简单,尤其对于已经存在很多年的大型项目来说,直接投入大量人...

爱奇艺 App 中台技术实践(爱奇艺 app 中台技术实践在哪)

本文来自爱奇艺研究员在ArchSummit全球架构师峰会上的演讲整理,将为大家分享爱奇艺打造移动中台的过程。爱奇艺移动中台的建设过程可分为组件解耦、组件定制化和平台化,未来会利用平台发现、沉淀和复...

软件开发|同样的功能需求,为什么有的软件公司报价高?有的低?

最近有个朋友问我:同样的功能需求,为什么有的公司报价高?有的公司报价低?其实,有很多创业的朋友,在寻找技术开发公司的时候,经常会遇到这个困惑,一样的功能需求,不同的公司有不同的报价,有的差别还很大,那...

零基础要怎么学习Web前端?Web前端学习路径分享

Web前端因为薪资高、入行门槛低,成为很多人转行进入IT行业的首选。对于零基础的人来说,学习之前一定要想清楚为什么而学习Web前端,给自己一个清晰的定位,摆正心态。如果还不清楚学习路线,可以参考千锋武...

MICROCHIP/微芯 KSZ9031RNXIA 以太网芯片

特征o适用于IEEE802.3应用的单片10/100/1000Mbps以太网收发器oGMII/MII标准接口,3.3V/2.5V/1.8V容错I/Oo自动协商以自动选择最高链路连接速度(10/10...

取消回复欢迎 发表评论: