logo smartbear TestComplete 系列教程 我也要发布文档

自动化功能测试TestComplete使用教程:如何测试Electron应用程序


TestComplete是一款具有人工智能的自动UI测试工具,利用自动化测试工具和人工智能支持的混合对象识别引擎,轻松检测和测试每个桌面,Web和移动应用程序。使用TestComplete,可以提高测试覆盖率并帮助提供经过实战考验的高质量软件。本文介绍了如何使用TestComplete测试Electron应用程序。

点击下载TestComplete正式版


在开发软件应用程序时,新的语言和框架总是在挑战极限。尽管较旧的技术可能具有完善的测试自动化工具,但是较新的语言和框架可能缺少其中一些功能,这使开发人员要赶上敏捷最佳实践的步伐非常困难。

Electron是平台的一个很好的例子,该平台可以通过合并Web和桌面范例来使测试变得困难。尽管有许多JavaScript测试框架,但是将它们连接到桌面环境是一项挑战。幸运的是,新的测试框架使得处理这些新场景比以往任何时候都要容易,包括像TestComplete之类的工具。

让我们看看如何常规测试Electron应用程序,以及如何使用TestComplete对其进行测试。

什么是Electron

Electron是一个使用JavaScript、HTML和CSS构建跨平台桌面应用程序的平台。该平台使用Chromium和Node.js,使用每个浏览器窗口的渲染器进程启动主进程。渲染器过程获取网页并将其渲染到具有自然感觉并且与标准的兼容性非常高的窗口中。

此外,主进程可以通过一系列Electron模块访问本机图形用户界面,从而可以与基础操作系统进行交互。唯一的缺点是,与纯本机应用程序相比,这些应用程序涉及更多的开销,这意味着它们的性能可能会有所降低,并存在其他一些限制。

许多流行的桌面应用程序都使用Electron,包括GitHub桌面(GitHub创建的Electron)、Slack、Skype、Mailspring、Visual Studio Code和Atom。这些公司和许多其他开发人员因其易用性,跨平台部署的能力以及对JavaScript、HTML和CSS的熟悉使用来创建用户界面而受到该框架的吸引。

用Spectron测试

Electron最受欢迎的测试框架是内置的Spectron,它是用ChromeDriver和WebDriverIO构建的。该测试平台可以设置和拆卸您的Electron应用程序,并允许其在完全支持Electron API的情况下进行远程测试驱动,并与Mocha、Jasmine、AVA和Chai等测试库兼容。

可以用与常规JavaScript集成测试相同的方式编写Spectron测试。例如,您可以使用标准Promises轻松地将异步操作和声明链接在一起,并使用常见的测试库(例如Mocha)。使用命令API,您甚至可以添加特定于您的应用的其他帮助程序,以最大程度地减少代码重复。

持续集成更具挑战性,因为它需要显示驱动程序,必须将其安装并配置为启动应用程序。例如,Jenkins CI用户必须安装Xvfb插件来添加显示驱动程序,才能使测试成功运行。但是,CircleCI和其他一些默认情况下已经设置了显示驱动程序。

使用Spectron进行的典型电子测试工作流程可能涉及开发人员以常规TDD方式编写单元测试,然后编写集成测试以验证是否满足接受条件,然后再批准部署功能。持续集成服务器可能会在将所有这些测试部署到生产中之前验证它们是否通过。

考虑的替代方案

对开发人员来说,Spectron、Mocha、Jasmine和其他基于代码的测试框架非常适合好,但它们很快就会变得复杂起来。不熟悉特定语言(例如JavaScript)或框架(例如Mocha)的测试工程师可能难以适应最新技术,而这些学习曲线可能会缩短测试和开发时间。

SmartBear的TestComplete是一种自动化的UI测试工具,可以快速、轻松地在桌面,Web和移动应用程序中创建,维护和执行功能测试。借助我们的AI驱动的对象识别引擎,TestComplete可以快速、轻松、准确地自动查找动态UI元素,从而无需进行基于代码的测试。

TestComplete的动态性质转换为可靠的测试,当用户界面更改时,测试不会中断。当不容易检测到应用程序属性时,TestComplete会自动切换其对象识别以利用AI,从而使测试工程师能够在上下文级别捕获UI元素并轻松地操纵复杂的用户操作。

如果需要测试高级功能,则可以轻松地将脚本添加到JavaScript、VBScript、Python和其他流行语言的功能GUI测试中。您还可以轻松地将TestComplete连接到您的持续集成生态系统,包括带有内置插件的Jenkins、Git和Jira之类的工具,这些插件使整个过程变得轻而易举。

TestComplete甚至可以轻松地将行为驱动的开发(BDD)集成到您的工作流中。用Gherkin语法设计和编写的测试用例可以轻松转换为自动化的UI功能测试,并使用对象识别以及记录和重放技术进行维护,而无需其他插件或集成。

自动化功能测试TestComplete使用教程:如何测试Electron应用程序

如何开始

由于TestComplete自动识别实现应用程序界面的网页以及这些页面上的各个Web元素,因此可以轻松为Electron应用程序创建自动化测试。受支持的Electron版本包括1.8.2、2.0.2、3.0.2、4.0.2和5.0.0以及6.0.0,尽管其他版本也可以在框架中使用。

有几个简单的步骤可以开始:

  • 选择“文件”>“新建”>“新建项目”,然后打开“创建新项目”向导。
  • 指定项目的名称和位置。
  • 在项目资源管理器中,双击“testedApps”节点,右键单击,然后选择“添加应用程序”。

自动化功能测试TestComplete使用教程:如何测试Electron应用程序

  • 选择“通用Windows应用程序”,然后指定Windows二进制文件的路径。
  • 通过转到“测试”>“记录”>“记录关键字测试”开始记录测试。
  • 展开“记录”工具栏,单击“运行应用程序”,然后选择“电子”应用程序。
  • 通过单击添加检查来创建属性检查点。检查点验证正在测试的应用程序中的对象和值。

自动化功能测试TestComplete使用教程:如何测试Electron应用程序

  • 完成后,单击“录制”工具栏上的“停止”。
  • 单击“关键字测试”编辑器工具栏上的“运行测试”以运行每个测试。

自动化功能测试TestComplete使用教程:如何测试Electron应用程序


由于TestComplete自动识别Electron应用程序中的网页和组件,因此整个测试过程与任何其他Web应用程序相同。除了基本的关键字测试之外,您还可以运行更高级的数据驱动测试,这些测试可以模拟具有不同输入数据的用户操作,以提供更大的测试范围。

您可以查看完整的教程以及演示应用程序,以在TestComplete中进行测试。或者,下载 TestComplete 的免费试用版,看看以动手方式开始测试Electron应用程序有多么容易。

最后

测试最先进的新技术(例如Electron)可能是具有挑战性的,但是TestComplete等平台可以通过更高级别的工作来简化流程,并以更易于测试工程师和其他非开发人员使用的方式进行工作。通过使测试更容易实现,许多开发团队发现更容易获得更完整的测试覆盖率。

相关内容推荐:

自动化功能测试平台TestComplete系列教程>>>


想要购买TestComplete正版授权,或了解更多产品信息请点击【咨询在线客服