Category: Testing

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

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

前言 上一篇介绍了Katalon的基础用法,本篇继续介绍一些进阶的用法。 Keyword 和 Method Call Statement Keyword Keyword就是自定义方法,该方法在当前项目下公共可用(当然,也可以将文件考到别的项目中进行复用),而Method Call Statement则更多的是用在局部定义的方法的调用上。 在项目的Keywords目录下,创建my.test.kits包,并创建TestUtilities.groovy类,其代码为: public class TestUtilities { @Keyword def CheckItemExists(TestObject obj) { return obj != null; } } 调用代码如下: WebUI.openBrowser(‘https://news.baidu.com’) if (CustomKeywords.’my.test.kits.TestUtilities.CheckItemExists'(findTestObject(‘Object Repository/testKeywords/Page_/input_tn’))) { WebUI.check(findTestObject(‘Object Repository/testKeywords/Page_/input_tn’)) WebUI.setText(findTestObject(‘Object Repository/testKeywords/Page_/input_word’), ‘新闻标题’) } else { WebUI.setText(findTestObject(‘Object Repository/testKeywords/Page_/input_word’), ‘Katalon’) } Method Call Statement 这是一种局部方法定义和调用方式,比如我需要打开百度新闻,然后登录之后再做一些其他操作,如果将登录这个操作封装起来,代码则大致如下: WebUI.openBrowser(‘https://news.baidu.com/’) […]

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

前端自动化测试神器-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用的是Java和Apache Groovy作为其脚本开发语言 性能方面,Katalon比Selemium差一点 Katalon提供了Spy和Record两个让构建测试变得异常简单的神级功能,以及很多内建的非常实用的功能(比如从文件、数据库等数据源获取数据填充到测试变量中) 基础用法 新建项目 方法1:Spy 用Spy Web功能添加对象到对象仓库中 为了更直观,我做了一张动图,完成了Spy的基本演示,其中包含了如下步骤: 打开百度搜索首页 定位搜索框,将其捕获(按组合键Shift + `) 确认捕获的元素 将搜索框保存到对象仓库中 查看捕获的所有信息 Spy的作用是可以在较为复杂的页面上或者当操作人员不会写代码的时候,需要操作元素时,用Spy可以非常方便的做到。上述所有步骤的动图如下: 新建Test Case 这个设计的步骤很简单: 打开百度首页 在输入框里输入katalon 确认搜索 展示搜索结果 过程动图如下(整个过程中并没有对Chrome做任何人工操作): 方法2:Record 上面的方法,相对于初学者来说,已经是“复杂”的了,毕竟我们先手动Spy出我们想操作的元素。其实,如果只是简单的通过百度搜索某个关键字这样的简单流程,完全可以用Katalon自带的Record Web功能,详见如下动图: Record Web功能会把你对浏览器做的所有操作,全程录制并保存起来,当然如果有需要,也可以按自己的需求对录制好的步骤做一些调整。 编辑脚本 如果你是个专业用户,你可以可以直接通过编辑脚本来写测试用例。比如在上述用例的基础上,我有如下需求变更: […]