0代码自动化测试:RF 框架实现企业级 UI 自动化测试!

news2025/2/24 14:32:38

RobotFramework框架可以作为公司要做自动化 但是又不会代码的一种临时和紧急情况的替代方案,上手简单。

现在大家去找工作,反馈回来的基本上自动化测试都是刚需!没有自动化测试技能,纯手工测试基本没有什么市场。

但是很多人怕代码,觉得自动化测试就需要代码!代码学习起来很难!当然代码学习不难,只要有好的学习方法!不过对于目前很多不会代码的同学,我今天要给大家讲一个自动化测试框架,就是不会代码也能做的自动化测试:RobotFramework框架。

可以作为公司要做自动化 不会代码的 临时和紧急情况的替代方案。解一时之需。

什么是RF框架?

你自己不会,你就站在巨人的肩膀上前进,这个RF就是一个巨人。

这是一个别人用Python代码封装的一个的工具和框架。底层是Python代码,提供了非常丰富的关键字,直接可以实现自动化代码想要实现的功能。这些关键字只需要做表格填空就可以了。

所以Robotframework有它得天独厚的优势:

  • 不用写代码,填表格就可以,可读性很高

  • 学习和使用门槛很低,上手不需要任何代码基础

  • 而且也有很多内置库和插件和第三方库可以按照和导入使用,快速实现常见的基本测试需求。

这也就是导致很多没有自动化团队的公司会选择这个工具做自动化测试。

如何使用RF框架做自动化测试?

其实做自动化侧测试就是把手工测试的行为和动作 转化为代码和工具。所以,他的测试步骤和基本思路是一致的。只是手段切换成工具和代码而已。

我们以电商项目为例:现在要做两条用例:

  • 用例1:输入用户名和密码,验证码,点击登录,检查是否登录成功

  • 用例2:输入搜索商品名字,点击搜索,检查结果是否正确

如果用手工测试做步骤:

第一步:准备好测试数据和用例

第二步:执行测试,页面点击操作

第三步:检查测试结果,也叫做断言,验证是否通过

如果通过页面点击效率太低了,而且现在纯页面点工没有市场了。所以,为了提高测试的效率,也为了提高自己的价值,我们需要把以上的手工点击操作进行自动化测试实现。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

把以上的操作RF来操作:

RF要做UI自动化 需要借助一个功能库:SeleniumLibrary :

建好一个项目,再建一个测试套件,在套件里点击library导入;

图片

然后就可以看到所有的包含的关键字,F5可以查找所有的关键字以及关键字的解释和使用样例。这些关键字就是封装好的功能。用来写自动化用例的。

图片

  • 安装 pip install SeleniumLibrary

  • 导入到RF的testsuite里。

RF编写测试用例:

先创建一个testcase,命名为【登录】,然后用关键字编写:

1)打开网址,浏览器最大化:

直接使用两个关键字就可以实现:Open Browser, Maximize Browser Window。

图片

2)输入用户名和密码的位置,就需要进行元素定位了:RF也支持八大元素定位的方法,比如xpath元素定位。

图片

3)断言:判断是否登录成功。使用断言相关的关键字就可以实现。

图片

点击运行,看效果以及结果展示:

图片

然后RF之所以成为一个测试框架,是因为提供了非常非常详细的框架必备的东西:测试报告 和日志。

图片

图片

这样,我们就完成了一个最基本你的用例的编写。

继续写第二条用例:

新建一个新的testcase,写第二条测试用例:搜索商品,检查搜索结果。

图片

以上是等待类的关键字,如果页面加载需要时间,就可以用等待的关键字加一个等待元素可见再操作。

实现了基本的功能之后,我们再去优化脚本 :

优化1:每次跑用例有两个动作都要必须要做的:一个是打开浏览器,一个关闭浏览器。这种就相当于是前提准备和后期必然要的清场。这种操作,我们就可以写成前置和后置。

  • 在testsuite里添加前置和后置:

图片

优化2: resource封装用户自定义的关键字

除了打开浏览器,前置里其实还想最大化浏览器,这样多个功能,都要在一次性执行完,可以进行封装。

  • 在testsuite里 new keyword ,自己封装关键字,类似于封装函数。

  • 取个名字,open and maxwin

图片

  • 在前置里可以直接写这个封装的关键字的名字。

图片

优化3:数据分离和参数化

用户名 密码 验证码 还有搜索的关键字等这些信息,是会变化的,这种变化的数据不能写死在脚本里,需要进行参数化。

  • 在testsuite里add scalar:

图片

在用例里就可以进行参数的调用了:

图片

这样我们就可以用RF实现一个基本的框架搭建跑UI自动化测试了。

总结

当然,这个RF框架自动化简单 好上手,能够帮助我们的不会代码 但是又要做自动化测试的同学 解决燃眉之需。

但是工具自动化可以算是初级自动化,一方面不值钱,另外一方面也有很多局限性:

1、RF框架是别人代码封装的,很多关键字和依赖的库也是依赖别人的更新和维护,一旦维护不及时,就会出现很多问题;RF就是典型的不怎么维护,所以有很多兼容性的问题;

2、工具使用门槛比较低,但是也受限制于框架本身的语法和要求;

3、难以灵活扩展,如果要针对项目做一些定制化的操作,需要扩展框架之外的功能,还是需要自己写代码。

所以,综上所述,要在企业独立做自动化测试并落地到项目,最好还是使用代码自己搭建框架,这也是企业对于自动化测试工程师的基本要求。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

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

相关文章

qml 项目依赖

文章目录 出现的问题最终对比下一步 把 apptestQml3_6.exe 放到一个单独目录下,执行 windeployqt.exe ./apptestQml3_6.exe但是出了很多问题,根本运行不起来。 但是在release目录下执行下,程序能跑起来。 根据错误提示,进行添加。…

浮点数二分(一个数开根号)

#include<iostream> using namespace std; int main(){double x;cin>>x;double l0,rx;while(r-l>1e-8){double mid(lr)/2;if(mid*mid>x)rmid;else lmid;}cout<<l<<endl;return 0; }

IJCAI 2023 |时空数据(Spatial-Temporal)论文

本次IJCAI 2023共收到4566份投稿&#xff0c;接收率大约15%&#xff0c;本文总结了IJCAI 2023有关时空数据&#xff08;spatial-temporal&#xff09;的论文。 时空数据Topic:轨迹异常检测&#xff0c;时空预测&#xff0c;信控优化等。 目录 Open Anomalous Trajectory Reco…

大学生课程|统计基础与python分析8|员工离职预测模型(免费下载所有课程材料)

此系列为基础学习系列&#xff0c;请自行学习&#xff0c;课程资源免费获取地址&#xff1a; https://download.csdn.net/download/weixin_68126662/88866689 久菜盒子工作室&#xff1a;大数据科学团队/全网可搜索的久菜盒子工作室 我们是&#xff1a;985硕博/美国全奖doctor/…

深度学习500问——Chapter02:机器学习基础(1)

文章目录 前言 2.1 基本概念 2.1.1 大话理解机器学习本质 2.1.2 什么是神经网络 2.1.3 各种常见算法图示 2.1.4 计算图的导数计算 2.1.5 理解局部最优与全局最优 2.1.5 大数据与深度学习之间的关系 2.2 机器学习学习方式 2.2.1 监督学习 2.2.2 非监督式学习 2.2.3 …

Maven【3】( 依赖的范围,传递性和依赖的排除)(命令行操作)

文章目录 【1】依赖的范围结论验证①验证 compile 范围对 main 目录有效②验证test范围对main目录无效③验证test和provided范围不参与服务器部署 【2】依赖的传递性①compile 范围&#xff1a;可以传递②test 或 provided 范围&#xff1a;不能传递 【3】依赖的排除 【1】依赖…

利用python爬取本站的所有博客链接

前因 由于自己要把csdn的博客同步到hugo中&#xff0c;把博客转为md格式已经搞好了&#xff0c;但是由于csdn的图片具有防盗链&#xff0c;所以打算把所有的图片爬取下来&#xff0c;然后保存在本地 刚好本人略懂一些python&#xff0c;所以自己先写了一个脚本用来爬取各个博…

【Acwing】差分矩阵

图1&#xff1a;a和b数组映射表 由于a是b的前缀和数组&#xff0c;因此改变b[ x1][ y1]之后&#xff0c;受到影响的a中元素如右半图所示 图2&#xff1a;求b数组的前缀和 #include<bits/stdc.h> using namespace std;int n,m,q; int a[1010][1010]; int b[1010][1010]…

最新 RubyMine 2023.3.4 下载与安装 + 永久免费

文章目录 Stage 1 : 官网下载Stage 2 : 下载工具Stage 3-1 : windows为例Stage 3-2 : mac为例常见问题部分小伙伴 Mac 系统执行脚本遇到如下错误&#xff1a;解决方法&#xff1a; 执行脚本做了啥&#xff1f;和正版区别&#xff1f; Stage 1 : 官网下载 先去官网下载 我这里下…

代码随想录算法训练营第二十四天补|● 回溯理论基础 ● 77. 组合

回溯理论基础、组合问题 回溯理论基础 回溯能解决的问题 回溯的本质是穷举&#xff0c;穷举所有可能&#xff0c;然后选出我们想要的答案 回溯如何穷举&#xff1a; 横向遍历for循环&#xff0c;纵向遍历backtracking&#xff08;递归&#xff09;&#xff0c;一般来说&#…

(2024,时空 trasnformer,时空视频分词器,自回归动力学模型,潜在行动模型)Genie:生成式交互环境

Genie: Generative Interactive Environments 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 2. 方法 2.1. 模型组件 2.2. 推理&#xff1a;可控行动视频生成 3. 实验 0. …

数据库orclec;nvl和nvl2的区别

Oracle中nvl()与nvl2()函数详解-CSDN博客 select nvl(null,2) as vb from dual select nvl2(666,2,3) as vb from dual

异常处理(黑马学习笔记)

当前问题 登录功能和登录校验功能我们都实现了&#xff0c;下面我们学习下今天最后一块技术点&#xff1a;异常处理。首先我们先来看一下系统出现异常之后会发生什么现象&#xff0c;再来介绍异常处理的方案。 我们打开浏览器&#xff0c;访问系统中的新增部门操作&#xff0…

如何通过代理IP安全使用Linkedln领英?

LinkedIn是跨境外贸必备的拓客工具&#xff0c;世界各地的许多专业人士都使用领英来作为发布和共享内容的主要工具&#xff0c;这使得它成为跨境出海必备的渠道工具。 但是不少做外贸的朋友都知道&#xff0c;领英账号很容易遭遇限制封禁&#xff0c;但如果善用工具&#xff0…

倾囊相授之性能分析思路

年轻的时候&#xff0c;经常听一些大会或者演讲。有些人说&#xff0c;思路逻辑非常重要。我那时就想&#xff0c;你肯定是瞎忽悠的&#xff0c;因为我怎么就没听懂你说的思路呢&#xff1f; 而现在轮到自己来写或者讲一些东西的时候&#xff0c;才发现他们说得很对&#xff0…

数据分析中生成仪表板制作工具对比,零基础也能实现数据可视化!

#AI生成图表# 仪表板&#xff08;仪表盘&#xff09;在企业做任何数据分析的最后都会需要的&#xff0c;它通过图表、数字、图形和表格等视觉效果&#xff0c;将复杂的数据以直观、易懂的方式展示出来&#xff0c;帮助用户更好地理解数据&#xff0c;以及决策支持和作为一个共…

50kw 直流充电桩测试仪的操作和维护

一、操作步骤 1. 连接电源&#xff1a;将充电桩测试仪的电源线连接到符合规定的电源插座上&#xff0c;确保电源稳定。 2. 连接设备&#xff1a;将充电桩测试仪的测试接口与待测充电桩的充电接口连接&#xff0c;注意接口的对应关系&#xff0c;防止接错。 3. 开机检查&…

请查收:2024年腾讯云服务器优惠价格表_租用配置报价

一张表看懂腾讯云服务器租用优惠价格表&#xff0c;一目了然&#xff0c;腾讯云服务器分为轻量应用服务器和云服务器CVM&#xff0c;CPU内存配置从2核2G、2核4G、4核8G、8核16G、4核16G、8核32G、16核32G、16核64等配置可选&#xff0c;公网带宽1M、3M、5M、12M、18M、22M、28M…

二叉搜索树题目:把二叉搜索树转换为累加树

文章目录 题目标题和出处难度题目描述要求示例数据范围 前言解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;把二叉搜索树转换为累加树 出处&#xff1a;538. 把二叉搜索树转换为累加树 …

Vmware Esxi 部署Mac OS虚拟机

Vmware Esxi在创建虚拟机的时候是有Mac OS选项的&#xff0c;但是实际创建时&#xff0c;选择ISO开机后一直反复引导&#xff0c;是有问题的&#xff0c;原因是需要先解锁&#xff0c;需要在ESXI主机上修改配置并重启。 首先找到管理-服务-TSM-ssh&#xff0c;点击启动&#x…