TestComplete中的跨浏览器测试教程(一):关于TestComplete中的跨浏览器测试
TestComplete是一款具有人工智能的自动UI测试工具,利用自动化测试工具和人工智能支持的混合对象识别引擎,轻松检测和测试每个桌面,Web和移动应用程序。使用TestComplete,可以提高测试覆盖率并帮助提供经过实战考验的高质量软件。本文介绍了TestComplete中的跨浏览器测试第一部分内容——关于TestComplete中的跨浏览器测试。
跨浏览器测试有助于确保您的Web站点或Web应用程序在各种Web浏览器中都能正常运行。通常,质量检查工程师会为每个浏览器创建单独的测试,或者使用大量条件语句创建测试,这些条件语句会检查使用的浏览器类型并执行特定于浏览器的命令。
TestComplete包含许多功能,这些功能使创建跨浏览器测试变得更加容易。您可以为一种受支持的Web浏览器记录或创建测试,然后在其他受支持的Web浏览器中进行几乎没有任何修改的测试,步骤如下:
跨浏览器测试设施
1、统一的对象模型和Page对象的位置。为了简化跨浏览器测试的创建,TestComplete对Web浏览器和页面使用统一的对象模型。您可以使用Sys.Browser方法访问Web浏览器。“浏览器”节点包含Page用于访问在该浏览器中打开的网页的对象。
Page节点下的对象层次结构与浏览器无关。因此,您可以统一使用各种浏览器中显示的页面内容。
2、支持的浏览器集合。通过TestComplete Browsers 对象,可以访问计算机上所有受支持的浏览器的集合。您可以轻松地遍历收集项并轻松地在不同的浏览器下执行相同的Web测试。
3、轻松更换经过测试的浏览器。在Web测试中,第一个测试命令通常是启动Web浏览器或在浏览器中打开经过测试的网页的命令。在这些命令中,浏览器只是可以轻松更改的参数。因此,您可以轻松地在其他浏览器上运行测试。
4、当前的浏览器概念。使用关键字测试操作或脚本方法从测试中启动浏览器时,TestComplete会将由操作或方法参数指定的浏览器作为测试的当前浏览器。换句话说,所有其他通过Web应用程序模拟用户操作的命令都将与由operation(或method)参数指定的浏览器一起使用。这适用于“运行”和“导航”操作以及脚本方法。
默认情况下,名称映射功能在TestComplete项目中启用,并且TestComplete通过Aliases.browser映射的名称访问Web浏览器:
Aliases.browser...
浏览器进程的默认映射设置仅使用进程类型(“浏览器”),而不使用实际的浏览器名称。使用TestComplete关键字测试操作或脚本方法启动浏览器或打开网页后,该Aliases.browser项目引用当前的测试浏览器,即由操作的或方法的参数指定的浏览器。
而且,当引用当前浏览器中未显示的网页时,TestComplete可能会自动切换到包含指定页面的浏览器实例,并使该浏览器成为当前浏览器。
要获得有关脚本中当前浏览器的信息,您还可以使用对象的CurrentBrowser属性Browsers。
5、统一访问文档对象和元素的数据。
- 不同的浏览器使用不同的属性来返回页面的文档对象。 在TestComplete中,您可以使用Page(...)。contentDocument属性来提供对该对象的访问,而与使用的浏览器无关。
- 不同的浏览器使用不同的属性来返回网页元素的文本内容。例如,在Firefox和Chrome中使用textContent属性,而在Internet Explorer和Edge中则必须使用innerText属性。TestComplete提供了综合属性- contentText在所有受支持的浏览器的测试中都可用,并且可以让您以与浏览器无关的方式创建测试。
6、支持JavaScript消息和浏览器对话框。网页可以显示各种消息和对话框。处理它们通常是一项艰巨的任务,因为不同的浏览器对其使用不同的GUI实现。TestComplete支持常用的模式对话框,例如JavaScript警报、提示和确认、标准身份验证对话框等。这意味着您的测试以统一的方式使用这些对话框和消息框,使用不依赖于用于测试的web浏览器的相同API。
要求
- 仅当TestComplete项目的Web树模型属性设置为Tree时,跨浏览器功能才起作用。其他Web树模型可以在不同的浏览器下分配不同的名称,因此记录的测试可能与浏览器有关。
- 启用项目的“使用旧版Web测试功能”选项时,跨浏览器功能不起作用。此选项用于向后兼容,并将Web测试功能和对象模型还原为早期版本的TestComplete中应用的功能。
创建跨浏览器测试
跨浏览器Web测试的创建类似于为一个浏览器创建测试,但有一个例外:在生产中使用测试之前,建议您确保它们在每种经过测试的浏览器上都能正常运行。
运行跨浏览器测试
记录Web测试时,TestComplete会“记住”所使用的浏览器,然后使用该浏览器回放测试。当您需要在另一个浏览器中执行测试时,无需重新记录整个测试,只需修改获取或启动浏览器的说明即可。
要在另一个浏览器中运行测试,可以执行以下操作:
- 明确更改当前浏览器以进行测试。
- 修改测试,使其接受目标浏览器作为参数。这样,您可以以编程方式定义目标浏览器,并从另一个“父”测试中调用修改后的测试,或将其作为测试项目启动。
- 修改测试,以便在TestComplete支持并安装在您的计算机上的所有浏览器中执行该测试。
跨浏览器测试的局限性
- 尽管TestComplete Web测试功能是跨浏览器的,但仍有一些特定情况需要您注意和特殊处理。
例如,大多数浏览器GUI元素(菜单、工具栏、选项卡等)上的操作均与浏览器有关,因此不应在跨浏览器测试中使用。另一个示例是某些情况下某些浏览器显示的特殊对话框。
- 您必须管理手动运行测试的环境。
例如,如果您在本地计算机上运行测试,则需要确保在计算机上安装了所有必需的Web浏览器的正确版本并准备进行测试。如果在远程计算机上运行测试,则还必须手动准备这些远程计算机和Web浏览器。另外,您将必须复制测试项目,运行它们并在这些计算机上手动收集测试结果,或者使用第三方QA管理工具来执行此操作。
有关如何自动化测试环境管理的信息,请参阅以下部分。
在CrossBrowserTesting Cloud中运行测试
CrossBrowserTesting是一项云服务,为运行功能正常的Web测试提供虚拟环境。在TestComplete中,您可以直接从TestComplete IDE 连接到CrossBrowserTesting服务,并在其虚拟环境中运行Web测试。如果您需要在各种Web浏览器中运行测试而无需实际购买其他软件和硬件,那么这可能是一个很好的解决方案:
- 您可以在任何Web浏览器和TestComplete支持的任何操作系统上测试Web应用程序。另外,您可以根据需要设置测试环境的屏幕分辨率。
- 您不需要手动准备测试环境。CrossBrowserTesting环境已经为运行TestComplete测试做好了准备。
- 您不需要将测试项目分发到远程环境并从中手动收集测试结果。在CrossBrowserTesting环境中运行测试时,您的测试项目会自动复制到环境中(并在测试运行结束后删除)。测试结果将复制到本地计算机,并自动累积在单个项目套件中。
- CrossBrowserTesting环境中的测试可以同时运行。您可以在多个环境中并行运行多个测试,这将大大减少测试时间。
要在CrossBrowserTesting环境中运行测试,您必须拥有一个带有正确订阅计划的CrossBrowserTesting帐户。
本文内容就是这样了,这一系列教程后面将会不断更新哦,欢迎大家继续关注我们网站!感兴趣的朋友可以下载TestComplete试用版免费体验~
相关内容推荐: