引言

由Capgemini,Sogeti和Micro Focus发布的2017-2018年世界质量报告中,Katalon超越老牌测试工具UFT(源自QTP)成为黑马新秀,在全球十大自动化测试工具中排名第二。Katalon提供了强大的UI自动化功能,除了精准的录制回放,还支持数据驱动,测试监听,报告生成,自定义关键词和脚本扩展。除了本身强大的功能以外,Katalon还号称永久免费,本文带大家体验一下Katalon的强大功能。

Katalon是基于Selenium和Appium封装的工具,用户不需要编程基础,可以直接通过录制回放完成部分UI测试的功能,而且可以把录制的脚本转换为Java代码。相对于Selenium来说,它更适合没有编程基础的人。Katalon旗下有两款产品,Katalon Automation Record和Katalon AutomationStudio。

KatalonAutomation Record类似于 Selenium IDE for Firefox,Selenium IDE for Firefox已经退出历史舞台,官方宣称SeleniumIDE是基于旧技术实现,在火狐55及之后的新版本上不再支持了。KatalonAutomation Record支持Firefox和Chrome,它的安装和使用很简单,以Chrome为例直接把插件安装到浏览器以后,通过浏览器启动插件,点击Record即可记录用户在界面的操作并形成TestCase,点击Play即可完成录制回放和功能验证。

KatalonAutomation Studio

KatalonAutomation Studio 不仅支持UI自动化,还支持Mobile自动化和App测试;本文以UI自动化为例带大家体验如何运用Katalon Automation Studio。

Katalon Automation Studio安装

KatalonAutomation Studio 支持Windows,Mac和Linux,可直接从官网下载,下载完成以后需注册账号才可启用。

官网下载地址:

https://docs.katalon.com/katalon-studio/docs/getting-started.html#installation

下载完毕以后解压即可打开Katalon,此处需注意安装目录不要有中文,否则可能出现无法驱动浏览器driver的问题。首次安装会提示需要注册用户名,密码;Katalon本身完全免费,注册一下即可使用。

新建工程

Katalon支持三种工程模板,WebUI工程,MobileUI工程,API工程;本文选择WebUI工程,新建完工程以后Katalon会根据工程类型自动形成项目结构。以WebUI工程为例,会生成如下项目结构:

  • TestCases(存储测试用例)

  • ObjectRepository(存储网页对象)

  • TestSuites(组织多个测试用例)

  • DataFiles(存储数据文件)

  • Checkpoint(存储校验点)

  • Keywords(存储关键词)

  • TestListeners(存储监听器)

  • Reports(存储测试报告)

  • Include(存储其他测试组件)

实例演示Hello Katalon

点击录制按钮,选择浏览器,Katalon启动浏览器并记录你在浏览器上的所有操作,并把操作转化成TestCase中的步骤。本示例在启动浏览器以后实现了Testfan论坛的登录功能,在页面手动操作完登录功能以后,会自动生成如下测试用例,并把登录页面识别出来的对象保存在ObjectRepository当中。

启动录制页面,输入待操作的URL

生成ObjectRepository对象

生成测试用例

更改Page名字,为了方便用例的维护,可以变更ObjectRepository中对象的名字,TestCase中的脚本会自动刷新。

回放测试脚本

点击回放按钮,Katalon会自动回放刚刚录制的内容,完成功能验证。

本文通过介绍简单的示例带大家了解Katalon,更多功能可参见官网手册: https://docs.katalon.com/katalon-studio/tutorials/index.html

2018全球十大测试工具Top2 Katalon的更多相关文章

  1. 构建ASP.NET网站十大必备工具

    最近使用ASP.NET为公司构建了一个简单的公共网站(该网站的地址:http://superexpert.com/).在这个过程中,我们使用了数量很多的免费工具,如果把构建ASP.NET网站的必备工具 ...

  2. 不仅仅是Google,您必须知道的全球十大地图API

    不仅仅是Google,您必须知道的全球十大地图API 一.总结 一句话总结:除了google,也有其它很多很好的地图,必应地图(Bing Maps),OpenLayers 二.不仅仅是Google,您 ...

  3. 全球5大安全工具Linux发行版本

    全球5大安全工具Linux发行版本http://automationqa.com/forum.php?mod=viewthread&tid=2314&fromuid=21

  4. 全球十大OTA 谁能有一席之地?

    全球十大OTA 谁能有一席之地? http://www.traveldaily.cn/article/78381/1 2014-03-05 来源:i黑马 随着旅游行业日新月异的发展,在线旅游网站的出现 ...

  5. MySQL管理员珍藏:十大必备工具盘点

    作者:dongdongzzcs 第1页: [IT168 专稿]本文的作者Daniel Nichter是MySQL工具的开发者,他为MySQL管理员推荐了十款必备工具.以下是全文内容: MySQL是一套 ...

  6. SQLServerDBA十大必备工具

    曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了: 诚然,SSMS和Profile足够强大,工作的大 ...

  7. 【转】SQLServerDBA十大必备工具---让生活轻松点

    曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了: 诚然,SSMS和Profile足够强大,工作的大 ...

  8. SQLServerDBA十大必备工具---让生活轻松点(转)

    曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了: 诚然,SSMS和Profile足够强大,工作的大 ...

  9. SQLServerDBA十大必备工具---让生活轻松点

    原贴:http://www.cnblogs.com/fygh/archive/2012/04/25/2469563.html 国外整理拓展帖:http://weblogs.sqlteam.com/ml ...

随机推荐

  1. hdu1427 速算24点

    </pre><pre> //#pragma comment(linker, "/STACK:102400000,102400000") //HEAD #in ...

  2. 20170316 ABAP注意点

    1.debug 时在MODIFY db from table 后数据便提交了: 一般情况下,更新数据库需要commit,但debug会自动commit,程序结束也会自动commit. 2.使用at n ...

  3. SIP学习笔记 -- RFC 3261

    1.SDP (rfc 4566)    1)用于交换参数    2)内容分三部分Session description, Time description and Media description ...

  4. RTP/RTCP学习笔记 -- RFC 3550

    The MTU of RTP package payload is (IP) - (UDP) - = 1472   #define DEFAULT_MAX_PACKET_SIZE 1200 video ...

  5. iOS 两个tableview的 瀑布流

    iOS 两个tableview的 瀑布流1. [代码]Objective-C     ////  DocViewController.m//  getrightbutton////  Created ...

  6. 网页上传FLV视频文件

    上传 flv格式文件一致提示文件类型不允许,是因为CI中的配置文件没有支持这个格式 在 application/config/mimes.php中加入 'flv' => array('video ...

  7. SSL peer shut down incorrectly

    这个问题通常出现在Android Studio更新失败的时候, 原因是download http://services.gradle.org/distributions/gradle-2.2-all. ...

  8. slim.flatten——将输入扁平化但保留batch_size,假设第一维是batch

    slim.flatten(inputs,outputs_collections=None,scope=None) (注:import tensorflow.contrib.slim as slim) ...

  9. java中的几种内部类

    Java中的几种内部类 内部类,听名字就可以知道是什么意思,就是类里面的类.有成员内部类,静态内部类,局部内部类和匿名内部类. 下面说一个每种内部类的的使用. 一.  成员内部类

  10. 记录ubuntu16.04版本安装过程中遇到的问题

    记录ubuntu16.04版本安装和使用过程中遇到的些问题,方便以后查看,主要内容有: 1. ubuntu源替换 2. windows与vmware ubuntu文件夹共享 3. putty连接ubu ...