Katalon Studio VS 那些以 Selenium 为基础的开源框架们

各位奋斗和即将奋斗在软件测试的筒子们,给你们找了个好东西 :)

本文为 Katalon 官方博客的文章,我自己进行的翻译,原文链接: https://www.katalon.com/resources-center/blog/katalon-studio-vs-selenium-based-open-source-frameworks/

如果对它感兴趣,请留言,我会继续为大家带来更多的干货


Katalon Studio 是一个采用了 Selenium 为核心引擎的自动化测试解决方案。尽管它运用了一些 Selenium 的功能, 但是它不仅仅只是简单的将 Selenium 进行包装。 这篇文章将具体的对 Katalon 和 以 Selenium 为基础的开源框架进行比较,分别对目标用户,部署,测试管理及脚本语言的支持,性能,可用性和与其他工具的整合等方面进行详述。

1. 目标用户

  软件自动化测试经常需要编程技术和待测产品的一些相关知识。待测产品的相关技术不是必须的,但是推荐掌握。比如说,如果你是测试网页的,那么知道一些 HTML 和 JavaScript 的知识总是好的。

  Katalon Studio 的使用者可以是并没有掌握太多专业技术的测试人员。Katalon Studio 把复杂的技术隐藏起来,并且提供了可以手动操作的用户友好的界面(用户可以手动对测试步骤手动拖拽,选择关键词和测试对象),同时,Katalon Studio 也为懂得技术,可以深入研究代码(通过脚本模式)的使用者们保留了必要的武器,比如关键词高亮,代码提示和调试。

  对于拥有很好的编程能力的测试者这来说,Selenium 和 Appium 是更适合他们的主要的自动化测试库。这些库(当然以及他们自己所需要的支持文件)通常需要 IDE,比如 Eclipse 或者 Visual Studio, 来引如一个开发工程,测试者还需要安装必要的测试框架,比如 JUnit, Nunit, 和 TestNG 来完成一个测试用例。

  让我们类比一下,这就像在自动化工厂里面,很多车都用的同一款引擎,而工人们根据车的不同模型来设计车的外形和内造。

  类似的,Katalon Studio 基本上来说是一个一体化解决方案。如果你还是(而且有能力)从头做起,你可以选择使用一个“引擎”,比如 Selenium, Appium 等等, 来搭建一个类似于 Katalon Studio 的解决方案。除了 Katalon Studio, 还有一些其他的测试框架也是基于 Selenium 和 Appium 的,比如 Robot Framework (http://robotframework.org

2. 部署 & 开始第一步

  大部分开源项目比较难以创建和部署,因为他们是由不同的开发人员开发并向一个中心提交的,比如 Github。你也学需要用提交的源代码来搭建所有的东西。但是即使像 Selenium 和 Appium 这样已经打包成即用型的框架,你仍然要阅读他们为 API 提供的技术文档,把他们整合进一个 IDE,使用他们推荐的编程语言。下面分别是 Selenium, Appium 和 Katalon Studio 创建和运行所需要步骤的概括:

Selenium:

  下载和安装 Java SDK

  下载和安装测试库: 对应你偏好语言的 Selenium client API, Selenium Server,或者一个独立包(将 client 和 server 捆包在一起的一个库)

  下载 IEDriver 和 ChromeDriver,创建环境和 Path 路径

  下载和创建开发 IDE 和你喜欢的测试框架,比如 JUnit, NUnit, 和 TestNG

  阅读 Selenium API 文档来开始创建一个项目,并开始写些代码

Appium:

  下载和安装对应你的编程语言的 SDK, 例如 Java, Python, Ruby 和 C#

  下载和安装测试库(Appium, Nodejs, Android SDK,如果是Mac和IOS的话XCode),创建环境和 Path 路径

  下载和创建开发 IDE 和你喜欢的测试框架,比如 JUnit, NUnit, 和 TestNG

  阅读 Selenium API 文档来开始创建一个项目,并开始写些代码

Katalon Studio 是一个统一的组合, 它包含几乎所有必要的东西,比如 Java,Android SDK, 用以驱动网页的 Web drivers,和必要的支持文件。你所要做的仅仅是将它下载和安装到你的电脑上。将安装步骤简化到最小

介于 Appium 频繁的更新, Katalon Studio 没有捆绑 Appium, 如果你在测试 mobile app, 你需要安装 Appium, Nodejs(在 windows 上)和 XCode (在 Mac 上)

你会对 Katalon Stuodio 迅速的上手,因为它有着友好的界面和一些案例工程。当然,用户手册(docs.katalon.com)可以帮你迅速的把简单到复杂的功能都走一遍

3. 测试管理和脚本语言支持

测试工具支持:

Katalon Studio 提供丰富的图形界面,比如菜单,树形视图, 表格等等,来管理测试用例,对象和数据文件。它的一些组件,比如 语法高亮,代码建议, 调试等非常理想的为不太懂代码,或者希望只进行拖拽操作的测试者提供帮助

                                                (Katalon Studio 手动模式)


                                                  (Katalon Studio 脚本模式)


                                                                                         (Katalon Studio debug 模式)

Selenium 和 Appium,在和某个特定开发 IDE,比如 Eclipse 和 Visual Studio 进行整合的时候,对于开发人员来说提供了直观的环境,但是对于手动测试或者不懂技术的测试者来说太过陌生和不必要的复杂。对他们来说用 Selenium 和 Appium 管理测试是一种挑战。

                                     (Selenium + TestNG + Eclipse 只有开发模式)


                (测试用例,测试组件,测试数据主要由 XML 文件和编程语言代码维护)

脚本语言支持:

Katalon Studio: Java/Groovy 是目前仅有的选项

Selenium, Appium + 一个 IDE: 可以选择多种语言

4. 性能

Katalon Studio 使用 Groovy, 一种建立在 Java 之上的语言,然后需要再如很多库来解析测试数据,测试对象,日志。所以,如果有几百步的测试不走的长时间测试上它会比 Java 稍微慢一点

5. 可用性和功能性

5.1 对象侦测:

检测对象是最重要,但是也是自动化测试里面最话时间的。

Katalon Studio 支持网页对象检测(使用 IE, Firefox, Chome 的网页插件)和移动 app ( 使用 screen simulator )。Katalon Studio 也支持对待测网页中抓取的对象进行高亮:


                                              (Katalon 对象侦测 -- 支持高亮对象)

Selenium 有一个 Firefox 插件,名字叫 Selenium IDE, 来支持网页应用对象的录制。不幸的是,这个插件没有再被维护和支持了。

Appium 提供了在移动端的竞品,在侦测移动端对象上非常好用,但是它没有高亮的功能。



5.2 测试数据管理和数据驱动

Katalon Studio 提供 Data File 对象,它能从外部资源获得数据: CSV 文件,Excel 文件, Relational DB。 Katalon Studio 同样支持根据一个数据文件来进行的 数据驱动测试。举个例子,当测试登录功能的时候,你制定一个由 100 个预定义的账号组成的 Excel 表格或者数据库

5.3 录制和测试生成

录制测试是帮助使用者学习和适应自动化测试最好的步骤。它帮助一个自动化测试人员做两件主要的事情:获取对象(在测试中)和用适当的动作或者关键词产生测试步骤,这样可以省下 50% - 60% 的编写测试用例的时间

Katalon Studio 可以在移动端和网页端录制和产生测试脚本


类似于 Katalon Studio, Appium 支持为移动 app 录制和产生脚本

Selenium 有 Selenium IDE (现在不再更新和维护了),来记录用户的动作和产生 Junit/TestNG 测试用例,但是对象的定位信息很难被直接写进生成的代码里,如没有对象管理来支持的话:

                                                  (用 Selenium IDE 来录制测试)


                                              (用 Selenium IDE 生成的测试用例)

5.4 内置关键词

Katalon Studio 预置了多组常用关键词和动作,足以让用户编写大部分测试用例。如果他们有更高级的或者更具体的要求,他们仍然可以为项目自定义关键词。自定义的关键词是内置关键词的扩展,他们可以和内置关键词一样使用,还可以分享给不同的用户

6. 报告和分析

Katalon Studio 提供直观的,更加友好的报告,可读性高的消息和测试失败时捕捉的截屏,这些都可以输出成 CSV, HTML 和 PDF 文件

Katalon Analytics 将测试结果用一种可互动的,更流行的方式来可视化,它可以是团队迅速分析问题,对他们自动化测试有更好的理解


                             (包含可视化执行结果的 Katalon Analytics 仪表板)

Selenium 和 Appium 本身没有报告工具,但是基于某些测试框架,会有一些简单的报告模板。Katalon 所能提供的复杂的报告和分析结果恐怕是 Selenium 和 Appium 最想提供的吧

                          (包含 stack-trace 的 TestNG 报告, 没有测试失败的截屏)

7. 集成

Katalon Studio 可以和多个测试管理系统和 bug 追踪系统集成,包括 qTest (https://www.qasymphony.com) 和 Jira 来提交 bug, defects,测试日志和测试结果。 Katalon Studio 也可以和 Kobiton 集成, Kobiton 是一个云端的移动研究平台,在上面可以进行 云端移动测试 (https://kobiton.com

8. CI 集成

Katalon Studio 提供了一个命令行的借口,允许 CI 系统呼叫和启动测试的执行

Selenium 和 Appium:用户必须创建和配置执行任务 (Ant Tasks, maven goals 等等)来启动测试的执行

9. 客户支持

Katalon 团队比 Selenium 和 Appium 更加致力于积极的支持 Katalon Studio 的用户们,通过它的网站和论坛

Selenium 和 Appium 是开源的,用户也许可以在别人那里,或者 Selenium 组织那里找到一些答案,但是速度得不到保证。

10. Bug 修复,发布日程

Selenium 和 Appium 组没有一个清晰的发布计划,而且 bug 通常不会被迅速修复。

Katalon Studio 每个月发布版本更新(更小的补丁版本经常在几天到一周内更新),而且 bug 通常在几天内被修复,用户的反馈时我们高度重视和迅速反应的

11. 几个其他自动化测试问题的解决办法

Selenium 只能在浏览器内测试 HTML 的内容。特殊的和自定义的控制,比如弹窗和内嵌对象(Flash, Flex, Media)将会让 Selenium 手足无措

Katalon Studio,却可以处理这些窗口控制,还能认识图片

Katalon Studio 允许从已经开始的 session 的任意一步开始测试,这对于故障排除测试来说非常重要

Katalon Studio 重载了 Firefox driver, 以使新的 Firefox 版本(47+)可以兼容旧版本的 driver。对于 Selenium 社区来说,他们还在与不稳定的 Gecko driver 苦苦挣扎



本文遵守知识共享协议:署名-非商业性使用-相同方式共享 (BY-NC-SA)简书协议

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selen...
    厲铆兄阅读 11,861评论 3 68
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,846评论 25 707
  • refer 朝天椒的夏天 一.selenium入门概念篇 最近开始接触selenium,刚开始时仅仅是知道它是一个...
    mcdullsnow阅读 1,319评论 0 9
  • 这次的雪下的的确认真 一夜大雪纷飞 多年以后 天刚亮就喊我起来扫雪也是美好的回忆
    像掉进海里上不了岸阅读 398评论 4 6
  • 历史多有风水之说,从《周易》,《奇门遁甲》,《寻龙秘书》等等,我们可以看到许多,从古至今的风水学说,而现如今,风水...
    楚煊阅读 164评论 0 0