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

1047 篇文章 0 订阅
1022 篇文章 3 订阅

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自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

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

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、linux 1,linux常用命令 2,某个时间段日志的查询 3,linux文件的上传和下载 二、功能测试 1,工作中所遇到的错误 2,测试流程: 3,测试计划元素: 4,测试报告元素: 5,测试点: 6,测试方法: 7,bug相关问题 8,adb常用命令 9,软件测试原则 10,测试用例编写的要素 11,测试用例的设计原则 12,软件产品质量特性 13,android四大组件 14,web测试和app测试的区别 15,app的anr的根本原因 16,app的crash的原因 17,h5页面图片未加载出来问题排查 18,区分原生和h5页面 19,为什么不能用jenkins打包 三、性能测试 1,了解jmeter 2,性能指标 3,如何做性能测试 四、接口测试 1,如何设计接口测试用例 2,为什么要做接口测试 3,接口测试的关注点 4,request处理cookie的三种方式 五、自动化测试 1,自动化核心框架 2,自动化测试的好处 3,自动化的前提 4,自动化测试的场景 5,元素定位的8种方式 6,如果一个元素无法定位,一般会考虑哪些原因 7,driver.close()和driver.quit()的区别 8,自动化脚本断言 9,判断页面元素是否存在 10,js在web自动化中的作用展示 11,自动化代码优化 12,selenium对比RF 13,自动化测试脚本三种等待 14,PO模式 六、HTTP协议 1,HTTP协议特点: 2,HTTP传输原理 3,get和post的区别 4,HTTP响应代码 5,osi七层模型 6,三次握手过程 7,session和cookie的区别 8,tcp和udp的区别 9,sockect通信原理 10,post的三种请求方式 七、数据库 1,sql分类 2,数据库事务特性:ACID 3,mysql索引的类型 4,池化思想 5,redis 6,如何提高数据库运行效率 八、java 1,面向对象的三个特征 2,重写和重载 3,比较sping,sping mvc 4,进程和线程的区别 5,java三层架构 6,处理异常 九、python 1,字符串反转的7种方法 2,new 和 _init_ 3,不使用中间变量交换两个变量的值 4,python四大内置高阶函数 5,python带颜色输出 6,python *args,**kargs用法 7,python常用模块 8,python多线程 9,python发送邮件 10,python操作图像 11,python的replace()方法的使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值