前端自动化测试神器-Katalon的基础用法

前言

最近由于在工作中需要通过Web端的功能进行一次大批量的操作,数据量大概在5000左右,如果手动处理,
完成一条数据的操作用时在20秒左右的话,大概需要4-5个人/天的工作量(假设一天8小时的工作里除去休息时间,我能在6个小时里像机器人一样保证每20秒处理一条数据)。
显然,作为一个程序员,我是不可能让这样机械化的操作浪费我宝贵的生命的。第一反应是想到了若干年前被我用来做Web前端测试和写页游外挂的神器Selemium(当时页游真的很火,我用自己写的脚本,在只花了很少钱的情况下,用了不到3周时间就已经是大神排行榜前10了)。但在我印象中,Selemium需要编写大量的代码来完成一个脚本,调试过程也较为繁琐,这么多年过去了,我在想会不会有更新更好用的工具出现呢?于是Google了一下之后,发现了Katalon

Katalon VS Selemium

Katalon是在Selemium相同的内核上构建起来的一个自动化测试工具。官方给出的两者的对比文档:https://www.katalon.com/resources-center/blog/katalon-studio-vs-selenium-based-open-source-frameworks/。

我综合自己这两天使用的情况,大概可以总结为如下几点:

  • Katalon的用户群体范围更广,用户甚至不需要任何编程基础,只需要知道自己想做什么即可,而Selemium的用户群体是开发或者测试人员
  • Katalon是一个非常易用的图形化的工具,但它竟然是免费的(官方说法是Completely free ? Built with Heart),并且是免安装版本,下载解压就能直接使用。而Selemium需要安装运行环境、语言驱动等等较为繁琐的步骤
  • 使用Selemium的时候,可能需要经常查询API文档以找到自己想要实现的功能,而Katalon大部分时候不需要(当然本身也是有非常完善的API文档的)
  • 专业人员通过Selemium可以完成各种复杂的功能,Katalon也可以,Katalon用的是JavaApache Groovy作为其脚本开发语言
  • 性能方面,KatalonSelemium差一点
  • Katalon提供了SpyRecord两个让构建测试变得异常简单的神级功能,以及很多内建的非常实用的功能(比如从文件、数据库等数据源获取数据填充到测试变量中)

基础用法

新建项目

方法1:Spy

用Spy Web功能添加对象到对象仓库中

为了更直观,我做了一张动图,完成了Spy的基本演示,其中包含了如下步骤:

  • 打开百度搜索首页
  • 定位搜索框,将其捕获(按组合键Shift + `
  • 确认捕获的元素
  • 将搜索框保存到对象仓库中
  • 查看捕获的所有信息

Spy的作用是可以在较为复杂的页面上或者当操作人员不会写代码的时候,需要操作元素时,用Spy可以非常方便的做到。上述所有步骤的动图如下:

新建Test Case

这个设计的步骤很简单:

  • 打开百度首页
  • 在输入框里输入katalon
  • 确认搜索
  • 展示搜索结果

过程动图如下(整个过程中并没有对Chrome做任何人工操作):

方法2:Record

上面的方法,相对于初学者来说,已经是“复杂”的了,毕竟我们先手动Spy出我们想操作的元素。其实,如果只是简单的通过百度搜索某个关键字这样的简单流程,完全可以用Katalon自带的Record Web功能,详见如下动图:

Record Web功能会把你对浏览器做的所有操作,全程录制并保存起来,当然如果有需要,也可以按自己的需求对录制好的步骤做一些调整。

编辑脚本

如果你是个专业用户,你可以可以直接通过编辑脚本来写测试用例。比如在上述用例的基础上,我有如下需求变更:

  • 我希望用户点击搜索按钮,而不是直接通过敲击回车完成搜索
  • 我希望在搜索结果出来之后,自动打开搜索结果的第一项

过程如动图所示:

具体过程如下:

  • 手动创建按钮对象btnSearch
  • 替换searchByRecord实验中的回车事件,将其变为点击btnSearch
  • 点击一个搜索结果,但是此时我不知道第一个搜索结果的元素是什么,因此通过Spy找到元素的XPath
  • XPath值创建搜索结果的链接对象
  • 在脚本代码中加入WebUI.click触发点击事件

后话

Katalon在使用上还是非常简单的,效率也非常高,令人眼前一亮。本文中的例子还是比较简单的,在实际场景中肯定还要复杂的多。比如我在本文开头说的那个工作中的任务,我用脚本跑花了5-6个小时。在此过程中,我只要时不时看一下进程是不是出现卡死或者异常的情况,其余时间完全可以做自己的事(当然,有个缺点是浏览器在执行的时候,不太好用电脑,因为焦点会频繁的被抢走)。

关于一些高级和实用功能,我将在后续补充。



本文在我的博客园我的个人博客上同步发布,作者保留版权,转载请注明来源。

原文地址:https://www.cnblogs.com/wushangjue/p/8406258.html

时间: 2024-08-29 10:02:16

前端自动化测试神器-Katalon的基础用法的相关文章

前端自动化测试神器-Katalon进阶用法

前言 上一篇介绍了Katalon的基础用法,本篇继续介绍一些进阶的用法. Keyword 和 Method Call Statement Keyword Keyword就是自定义方法,该方法在当前项目下公共可用(当然,也可以将文件考到别的项目中进行复用),而Method Call Statement则更多的是用在局部定义的方法的调用上. 在项目的Keywords目录下,创建my.test.kits包,并创建TestUtilities.groovy类,其代码为: public class Test

学习web前端之神器sublime text 3

第一次在博客园写博客,以前都是看别人写的技术在自己慢慢的学习.现在想自己把每天学习的东西理解并记录下来,加深下印象以后可以做个回顾.不知道自己能否坚持每周至少写2篇博文. 古话说的好:工欲善其事,必先利其器.所以我们要找到一个神器来帮助我们更好的学习前端开发,要么记事本怎么样?不错是不错估计要写到猴年马月了. 百度一搜,web前端开发利器有很多,比如:EditPlus,Dreamweaver,HBuilder,Webstorm,Aptana Studio,Sublime text,这么多最后我还

Vue组件基础用法

前面的话 组件(Component)是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.根据项目需求,抽象出一些组件,每个组件里包含了展现.功能和样式.每个页面,根据自己所需,使用不同的组件来拼接页面.这种开发模式使前端页面易于扩展,且灵活性高,而且组件之间也实现了解耦.本文将详细介绍Vue组件基础用法 概述 组件是一个自定义元素或称为一个模块,包括所需的模板.逻辑和样式.在HTML模板中,组件以一个自定义标签的形式存在,起到占位符的功能.通过Vue.js的声明式渲染后,

前端自动化测试工具doh学习总结(二)

一.robot简介 robot是dojo框架中用来进行前端自动化测试的工具,doh主要目的在于单元测试,而robot可以用来模仿用户操作来测试UI.总所周知,Selenium也是一款比较流行的前端自动化测试工具,与Selenium相比robot的优点在于robot触发的浏览器事件是真正的用户操作事件,而Selenium中的事件属于"合成事件".打个比方,用户在一个textbox元素上触发了mousedown事件,但是在触发mousedown事件之前,肯定会触发mouseover等事件.

做好前端的话html和css基础必须夯实

很多前端大佬说,要做好前端的话html和css基础必须夯实.那么,达到什么水平才能叫基础夯实呢? 1.拿到设计人员给的图,不管是pc或者是移动端的图,看一遍之后脑海中已经有了很明确的结构和页面书写过程中可能出现的兼容问题. 2.页面在书写的时候可以快速的写出来适合该项目相关的reset.css.并且在书写布局的适合可以借助编辑器的相关快捷键和相应的标记符,迅速把某一大模块的结构书写出来,比如利用hbulider的table快捷键书写快捷结构,div>p.box$*4+p.text,并且做到一步到

易优CMS:channel的基础用法

[基础用法] 名称:channel 功能:易优常用标记,可以循环嵌套标签.通常用于网站导航以获取站点栏目信息,方便网站会员分类浏览整站信息 语法: {eyou:channel type='top' row='8' currentstyle='active'} <li class="{$field.currentstyle}"><a href='{$field.typeurl}'>{$field.typename}</a> </li> {/

前端开发神器WebStorm--Grunt 搭建环境(03)

通过上一篇前端开发神器WebStorm--自动化工作流(前言),相信大家都Grunt自动化工具有了初步了解. 接下来我就以WROC3000 web为原型,演示一下如何使用Grunt工具提高工作效率,最大程度压缩代码. 1.首先安装node环境 进入官网 下载安装.(记住安装目录) 检测安装成功方法:打开CMD窗口,输入 node --version 会打印出安装的版本号,说明已经安装成功. 2.安装 Grunt 客户端 在CMD 窗口中,切换到node安装盘符,会自动切换到nodejs安装目录.

sass基础用法

sass基础用法 SASS是什么 传统的CSS是一种单纯的描述性样式文件,然而SASS可以对CSS进行预编译处理. 在SASS源码中可以使用变量.函数.继承等动态语言的特性,并且可以编译成CSS文件. 安装与使用 安装 由于sass是ruby写的,所以想要使用sass就需要安装ruby环境.然后再使用gem安装sass. 输入下面的命令进行安装sass: gem install sass 可以使用sass -v命令查看sass的版本. 使用 新建一个后缀名为.scss源码文件,就可以编辑sass

游标基础用法

Create PROCEDURE P_InsertSubject@SubjectId intASDECLARE rs CURSOR LOCAL SCROLL FORselect studentid from student where StudentGradu = 1OPEN rsFETCH NEXT FROM rs INTO @tempStudentIDWHILE @@FETCH_STATUS = 0BEGINInsert SelSubject values (@SubjectId,@temp