HP UFT 与 Selenium – 综述
当我们谈论测试自动化时,我们自然会想到可以简化测试任务的工具。这些工具可以分为两大类——免费软件和许可证工具。免费软件是互联网上免费提供的开源工具。此类工具的可靠性较低。但是,当我们谈论许可证工具时,这些工具是需要付费的工具,具有许可证版本。如果要使用这些工具,则必须支付许可证费用。
在本文中,我们将讨论两个主要的 GUI 功能测试工具——Selenium,这是一个开源工具;以及 HP UFT (QTP),这是一个商业工具,需要许可证。让我们详细讨论两者,并了解它们的差异。
顶级工具
选择最适合您整体需求的正确的测试自动化工具非常重要。为此,我们首先需要了解您的项目有多少重复性任务以及需要执行多少轮测试。在性能和输出方面,有两个工具达到了顶峰,它们是 HP UFT 和 Selenium。让我们简要了解一下这些工具的背景和功能。
- HP UFT (统一功能测试) 工具,又名 QTP − 我们一直将此工具称为 HP QTP (快速测试专业版)。HP 最近将其更名为 HP UFT。它是市场上最主要的商业参与者之一。它主要使用 VB 脚本作为其脚本语言。它非常易于使用,并具有强大的功能。它使用对象存储库来识别和捕获对象。它可以轻松地与其他自动化工具(如 Quality Center)集成,并更新结果。
- Selenium − Selenium 是一款开源工具,自从进入业界以来就引起了轰动。它是一个免费软件,拥有所有良好的功能,因此能够轻松地占据 QTP 曾是领导者的市场份额。Selenium 支持多种语言,并在很大程度上基于 Java 脚本。
节省成本
进行测试自动化是为了节省软件开发过程的成本。但是,工具可能会增加成本。HP UFT 是一个付费工具,每个用户都需要购买许可证。相反,Selenium 是一个免费工具,可以随时下载。
语言支持/脚本
当我们谈论编程语言时,HP UFT 只支持使用 VB 脚本编写自动化脚本,而 Selenium 则可以使用多种编程语言,如 Java、C#、Ruby、Python、Perl、PHP 和 JavaScript。因此,如果您不了解 C#,您始终可以使用 PHP 或 Perl 或 Ruby 编写脚本。因此,Selenium 具有优势。
对于 HP UFT,脚本只能在 QTP/UFT IDE 中开发,而在 Selenium 中,我们有更广泛的 IDE,如 Visual Studio、Eclipse、Netbeans 来创建脚本。
环境
HP UFT 只能在 Windows 环境中使用,并需要 Google Chrome、IE 或 Firefox 作为浏览器。同时,它还支持 SAP、Oracle、.NET 等不同环境,但用户需要为其购买附加许可证。但是,Selenium 可以在 Linux、Windows、Solaris、OS X 上使用。HP UFT 通过 MobileCloud 也支持移动应用程序。但是,Selenium 支持 Android、iPhone 和 iPad、BlackBerry 和 Headless WebKit。
Selenium 用于测试 Web 应用程序。但是,HP UFT 用于测试客户端-服务器应用程序、桌面应用程序以及 Web 应用程序。
对象识别
HP UFT 带有内置的对象存储库,并且在其中对象存储库的开发和维护非常容易。内置的对象存储库存储元素 ID 和多个属性以识别对象,这在控制识别中的偏差接受方面提供了灵活性。
但是,Selenium 没有这样的内置对象存储库,但可以使用 UI 元素用户扩展来管理对象。对象是使用 UI 地图和不同的对象位置策略(例如 XPath 元素 ID 或属性 DOM)来识别的。
支持
HP UFT 提供非常好的技术支持,并且有各种论坛可以帮助解决技术问题。相比之下,Selenium 不提供任何技术支持,但可以通过各种在线论坛和开源社区搜索查询。HP UFT 还不断发布新版本和针对软件中内置错误的补丁。
报告和技术知识
可以使用 HP ALM/Quality Center 报告模块创建交互式和自定义报告。脚本和生成自定义报告所需的专业知识较少。对于 Selenium,脚本开发者需要非常好的知识以及集成框架不同部分的技术能力。在报告方面,Selenium 与 Jenkins 集成,可以提供良好的报告和仪表板功能。
讨论完所有这些功能后,我们可以得出结论:HP UFT 和开源 Selenium 之间的区别类似于购买品牌服装和自己缝制服装。品牌服装有其自身的成本和品牌形象,而自己制作的服装则需要自己处理从整理到最终修饰的所有事情。同样,HP UFT 作为品牌软件也具有自身的优势。HP 不断添加新功能,并在发布之前进行了多次测试。但是,对于开源软件来说,从这个角度来看,我们确实有一些局限性。
因此,如果您计划以低成本立即进行 Web 应用程序的测试自动化,那么 Selenium 是一个不错的选择。但是,如果您的项目需求需要自动化工具的长期支持,并且需要支持桌面、Web 和移动应用程序,那么 HP UFT 将是一个不错的选择。HP UFT 还提供向后兼容性,这有助于执行 5 年前编写的代码。最终,用于功能自动化的工具选择很大程度上取决于测试项目的具体需求。