Katalon Studio是一个复用Selenium核心引擎的测试自动化解决方案,尽管使用了诸多Selenium的功能,它并不是简单地对Selenium进行包装。本文档详细比较了Katalon和基于Selenium的开源框架,重点关注目标用户、部署、测试管理和脚本语言支持、性能、可用性以及与其他工具集成等关键特性。
1. 目标用户
软件测试自动化通常需要技术技能和有关被测应用程序(AUT)的一些知识才能成功实施。关于AUT相关技术的知识不是必须的,但值得推荐。例如,如果您在进行web测试,那么了解HTML和JavaScript应该会更好。
Katalon Studio的用户可能是技术知识有限的测试人员,Katalon Studio隐藏了场景背后的所有技术复杂性,并提供了友好的支持手动模式(用户可以拖放,选择关键字和测试对象以构成测试步骤)的UI,但仍然可以为技术更强大的用户提供必要的武器,使之能够在完全支持语法突出显示、代码建议和调试等开发便利的脚本模式下更深入地编写代码。
Selenium和Appium主要是自动化测试库,更适合具有良好编程技能的测试人员。他们通常需要使用像Eclipse或Visual Studio这样的IDE,将Selenium和Appium库(当然还有他们的依赖项)导入开发项目,在开始编写测试用例之前安装必要的单元测试框架,如JUnit,NUnit和TestNG。
让我们想象一下汽车行业的一个类比,许多汽车共享相同的引擎,而制造商根据汽车的型号设计不同汽车的内饰和外观。
同样,Katalon Studio基本上是一体化解决方案。但如果您仍然乐意(并且有必要的技能)自己从头开始构建所有东西,您可以选择像Selenium、Appium等引擎来构建另一个像Katalon Studio这样的自动化测试解决方案。除了Katalon Studio之外,还有一些基于Selenium和Appium构建的测试框架,例如Robot框架(Robot Framework)。
2. 部署和入门
大多数开源项目很难设置和部署,因为它们是由许多不同的开发人员和提供商贡献代码,他们将工作提交到一个中心位置,即Github上。您可能必须使用提交的源代码构建所有内容,但即使框架被打包成Selenium和Appium等即用型产品,您仍然必须通过API的技术指南并将它们与IDE和首选编程语言集成。以下是Selenium,Appium和Katalon Studio设置和运行所需的高层步骤。
- Selenium:
- 下载并安装Java SDK
- 下载并设置测试库:您的首选语言的Selenium客户端API、Selenium Server,或者独立包(仅在一个库中捆绑了客户端和Server)
- 下载IEDriver和ChromeDriver,设置环境和PATH变量
- 下载并设置开发IDE和您的首选测试框架,如JUnit,NUnit和TestNG
- 浏览Selenium API文档以开始创建项目并编开始编写代码。
- Appium:
- 下载并安装您的编程语言的SDK:Java,Python,Ruby或C#
- 下载并设置测试库(Appium,Node.js,Android SDK,若为Mac和iOS则需要XCode),设置环境和PATH变量
- 下载并设置开发IDE和您喜欢的测试框架,如JUnit,NUnit和TestNG
- 浏览Appium API文档以开始创建项目并编写代码。
- Katalon Studio是一个统一的包,其中包括几乎所有必需的东西,如Java,Android SDK,用于驱动浏览器的Web驱动程序以及所需的依赖项。您所要做的就是下载并安装到您的计算机上。最低安装要求:
- 由于Appium经常更新,Katalon Studio不捆绑Appium。如果您正在测试移动应用程序,则必须安装Appium,Node.js(在Windows上)和XCode(在Mac上)
- 您可以快速熟悉Katalon Studio,因为它具有友好的UI和示例项目。详细的用户文档(Welcome to Katalon Products)绝对可以帮助您快速完成从简单到进阶的功能。
3. 测试管理和脚本语言支持
- 测试工件的管理:
- Katalon Studio提供丰富的图形用户界面,包括菜单,树状视图,表格等,以管理测试用例,对象和数据文件。它的编写器用于脚本编写,具有完整的语法高亮、代码建议、调试功能,非常适合那些只想拖放或编程技巧有限的测试人员。
(Katalon Studio手动模式)
(Katalon Studio脚本模式)
(Katalon Studio调试模式)
-
- Selenium和Appium在与Eclipse和Visual Studio等专用开发IDE集成时,可为开发人员提供直观的环境,但为手动或非技术测试人员提供不熟悉且不必要的复杂功能。使用Selenium和Appium时,管理测试对于非技术测试人员来说是一项挑战。
(Selenium + TestNG + Eclipse的唯一开发模式)
(测试用例、测试套件、测试数据主要以XML文件和编程代码组织)
- 脚本语言支持:
- Katalon Studio:Java/Groovy是目前唯一的选择
- Selenium、Appium + IDE:多种脚本语言选择
4. 性能
Katalon Studio使用Groovy,一种基于Java构建的语言,并且必须加载许多库来解析测试数据、测试对象和日志记录。因此,对于具有数百个步骤的长测试用例,与Java相比可能会慢一些。
5. 可用性和功能
5.1对象监测:监测测试对象是测试自动化中最重要但耗时的活动。
- Katalon Studio支持Web(通过使用IE、Firefox、Chrome的浏览器插件)和移动应用程序(通过使用屏幕截图模拟器)的对象监测。Katalon Studio还支持AUT中捕获对象的高亮显示:
(Katalon对象监测与对象高亮显示支持)
- Selenium有一个名为Selenium IDE的Firefox插件,用于在Web应用程序上记录对象。 不幸的是,此插件已不再维护和支持。 了解有关“为什么Katalon Studio成为Selenium IDE的完全替代品”的更多信息
- Appium提供了一个配套的移动对象监测工具,它很有用,但它没有高亮显示功能。
5.2 测试数据管理和数据驱动
- Katalon Studio提供数据文件对象,可以从外部源查询数据:CSV文件、Excel文件、关系数据库。Katalon Studio还支持对数据文件对象进行数据驱动的测试。例如,在测试登录功能时,您可以在Excel电子表格或数据库中指定100个预定义帐户。
- Selenium和Appium:测试人员必须直接在代码中硬编码测试数据。 对外部数据源的任何支持都需要大量的编程工作。
5.3 录制和测试生成
测试录制是帮助用户学习并快速适应测试自动化的最佳方式。它有助于自动化测试人员完成两项主要工作:捕获对象(在录制期间)并使用适当的操作或关键字生成测试步骤,从而节省至少50-60%的编写测试用例的时间。
- Katalon Studio能够在Web和移动应用程序上记录和生成测试脚本:
- 与Katalon Studio类似,Appium支持为移动应用程序录制和生成测试脚本。
- Selenium的标记为废弃的Selenium IDE可用于记录用户操作并可以导出到JUnit/TestNG测试用例,但是对象识别信息直接硬编码到生成的代码中,而缺乏对象管理支持:
(使用Selenium IDE进行测试录制)
(Selenium IDE生成的测试用例)
5.4 内置关键字
- Katalon Studio发布了预先定义的常用关键字或操作集,用户会发现它们足以开始实现大多数测试用例,但如果他们有更高级或特定的需求,用户仍然可以为他们的项目创建自定义关键字。自定义关键字是内置关键字的扩展,可以与内置关键字一样使用,也可以在用户之间共享。
- Selenium和Appium:用户必须以编程功能的形式自己构建通用和可重用的操作。
6. 报告和分析
- Katalon Studio提供直观的报告,包含友好可读的消息,并在发生故障时捕获屏幕截图,可以导出为CSV、HTML和PDF文件。
- Katalon Analytics以可操作的方式可视化测试执行结果,使团队能够快速诊断并更好地了解其自动化测试。
(具有可视化执行历史记录的Katalon Analytics仪表盘)
- Selenium和Appium本身没有报告工具,但基于使用的测试框架将有一些简单的报告模板。像Katalon提供的复杂报告和分析功能可能是Selenium和Appium最需要的功能之一。
(具有编程堆栈跟踪的TestNG报告,没有故障屏幕截图)
7. 集成
- Katalon Studio可以与多个测试管理系统和错误跟踪系统集成,包括qTest(Software Testing, Test Case Management & QA Tools Built For Agile)和JIRA,以提交错误、缺陷、测试日志和测试结果。Katalon Studio还可以与基于云的移动测试的基于云的移动实验室Kobiton集成(https://kobiton.com)。
- Selenium和Appium:没有集成,用户必须自己构建集成功能。
8. CI集成
- Katalon Studio提供命令行界面,允许CI Systems调用并触发测试执行。
- Selenium和Appium:用户必须创建和配置执行作业(Ant任务、maven目标等)以触发测试执行。
9. 客户支持
- Katalon团队通过其网站和论坛为Katalon Studio的用户提供比Selenium和Appium社区更常规的积极支持。
- Selenium和Appium是开源的,用户可以在其他用户或Selenium组的某处找到在线帮助,但没有任何保证可以快速得到帮助。
10.错误修复,发布时间表
- Selenium和Appium小组没有明确的发布计划,报告的错误通常不会很快得到修复。
- Katalon Studio每月发布(热修复的小版本通常在几天到一周内可用),并且错误通常在几天内修复。用户反馈得到高度鼓励并迅速得到解决。
11.几个自动测试问题的解决方案
- Selenium只能处理浏览器中的HTML内容,Windows弹出窗口和嵌入式对象(Flash、Flex、Media)等特殊和自定义控件将使Selenium无法处理。
- 另一方面,Katalon Studio提供了处理这些Windows控件和识别图像的功能。
- Katalon Studio允许通过已打开的会话从任何步骤开始测试,这对于故障排除测试非常有帮助。
- Katalon Studio覆盖Firefox驱动程序,使新的Firefox版本(47+)向后兼容旧的Web驱动程序,而Selenium社区仍在努力应对不稳定的Gecko驱动程序。