各位奋斗和即将奋斗在软件测试的筒子们,给你们找了个好东西 :)
本文为 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 苦苦挣扎