设置多个浏览器测试

此任务描述可用于为应用程序或网页进行有效的跨浏览器测试的一些技术方法。

提示: 有关与该任务相关的用例场景,请参见针对多浏览器测试使用描述性编程 - 用例场景

先决条件: 关闭浏览器的自动更新

为确保您正在所需的特定浏览器版本上进行测试,请关闭浏览器的自动更新功能。

返回页首

配置录制和运行设置以启动浏览器

使用“录制和运行设置”,可以更改在其上为每个测试运行而运行测试的浏览器。

  1. 选择“录制”>“录制和运行设置”。

  2. 在“录制和运行设置”对话框中,选择“Web”选项卡。

  3. 在“Web”选项卡中,选择“录制或测试运行开始时打开以下地址:”选项。

  4. 在 Web 地址下拉列表中,输入一个要打开的 Web 地址或从下拉列表中选择一个 Web 地址。

  5. 在“录制或测试运行开始时打开以下浏览器:”下拉列表中,选择要运行测试的浏览器。

    备注: 如果选择 Apple Safari,则必须提供其他连接信息。有关详细信息,请参阅连接到远程 Mac 计算机

    启动测试运行时,指定浏览器将打开输入的 Web 地址。

返回页首

使用 BROWSER_ENV 环境变量启动浏览器

使用 BROWSER_ENV 环境值,可以更改用于启动每个测试运行的浏览器,并且在某些情况下,可以指定特定的浏览器版本 (如果已安装)。

  1. 选择“文件”>“设置”。

  2. 在“设置”对话框中,选择“环境”节点。

  3. 从“环境”节点的“变量类型”下拉列表中,选择“用户定义”。

  4. 在用户定义的变量列表中,单击“添加”按钮

  5. 在“添加新环境参数”对话框的“名称”字段中,输入 BROWSER_ENV (区分大小写)。

  6. 在“值”字段中,为要打开的浏览器输入值 (区分大小写):

    IE 打开已安装版本的 Internet Explorer。
    IE64 打开已安装的 64 位版本的 Internet Explorer。
    CHROME 打开已安装版本的 Google Chrome。
    CHROMIUMEDGE

    打开 Microsoft Edge (基于 Chromium) 的已安装版本。

    UFT One 24.2 及更高版本: 此值仅支持向后兼容。请改用 EDGE

    CHROME_HEADLESS

    打开 Headless Chrome 的本地安装版本。

    支持 Chrome 版本 60 及更高版本。

    FIREFOX 打开已安装的 Firefox 版本。

    FIREFOX64

    打开安装在计算机上且由 UFT One 支持的最新版本的 64 位 Mozilla Firefox。
    SAFARI 打开已连接到 UFT One 的远程 Mac 计算机上的 Safari。
    EDGE

    UFT One 24.2 及更高版本: 打开 Microsoft Edge (基于 Chromium) 的已安装版本

    UFT One 23.4 及更低版本: 打开已启用 Edge Agent for UFT 的已安装 Microsoft Edge 旧版。

    CHROME_EMULATOR 使用指定设备在仿真模式下打开 Chrome。
    PHANTOMJS 打开 PhantomJS Web 工具包的本地安装版本。
  7. 单击“确定”保存变量的“名称”和“值”。

  8. 在“测试设置”对话框中,单击“应用”和“确定”以保存变量并关闭对话框。

返回页首

使用测试参数打开浏览器

可以使用“录制和运行设置”指示 UFT One 自动启动用于测试运行的特定浏览器:

  1. 选择“录制”>“录制和运行设置”。

  2. 在“录制和运行设置”对话框中,选择“Web”选项卡。

  3. 在“Web”选项卡中,选择“录制或测试运行开始时打开以下:”选项。

  4. (可选) 在“地址”字段中,输入要将浏览器打开至的地址。

    可以将“浏览器”下拉列表保留为默认值。

  5. 在“参数类型”下拉列表中,选择参数类型: “全局数据表”或“测试参数”

  6. 在“参数名”字段中,输入参数名。(默认参数名为 Browser。)

  7. 单击“应用”保存更改,然后单击“确定”关闭对话框。

    UFT 会自动将列添加到“数据”窗格的“全局”选项卡中或添加测试参数。

  8. 运行测试之前,执行以下操作之一,具体取决于选定的参数类型:

    对于全局数据表参数 在“数据”窗格的“全局”选项卡中,设置参数的值。

    要使用的值:

    • IE。打开 Internet Explorer。

    • IE64。打开 64 位版本的 Internet Explorer。

    • CHROME。打开 Google Chrome。

    • CHROME_HEADLESS。打开 Headless Chrome。
    • FIREFOX。打开 Mozilla Firefox。

    • FIREFOX64。打开安装在计算机上且由 UFT One 支持的最新版本的 64 位 Mozilla Firefox。

    • SAFARI。在连接到 UFT One 的远程 Mac 计算机(在“录制和运行设置”对话框的“Web”选项卡中定义或在 REMOTE_HOST 环境变量中定义)上打开 Safari。

    • EDGE。打开已启用 Edge Agent for UFT 的已安装 Microsoft Edge 旧版。

    • CHROME_EMULATOR。使用指定设备在仿真模式下打开 Chrome。

    • PHANTOMJS: 打开 PhantomJS Web 工具包的本地安装版本。

    有关添加移动相关参数的详细信息,请参阅定义移动录制和运行设置

    对于测试参数
    1. 在工具栏中,单击“运行”按钮

    2. 在“运行”对话框中,展开“选项”部分,然后选择“输入参数”选项卡。

    3. 在参数的“值”列中,输入参数的值

返回页首

使用数据表参数启动浏览器

  1. (可选) 创建可用于所有测试的可重用操作,以便启动浏览器。

  2. 在“数据”窗格中,打开“全局”选项卡。

  3. 在“全局”选项卡中,单击要在其中存储参数的列的第一行。

  4. 输入该参数的名称,并单击“确定”

    例如,可以将此参数命名为 BrowserName (以将其标识为要打开的浏览器的名称)。

  5. 在数据表中,输入要打开的浏览器的 .exe 名称。

    例如,如果需要在 Internet Explorer、Firefox 和 Chrome 上运行测试,您将分别在列的前三行中输入 iexplore.exefirefox.exechrome.exe

  6. 添加以下格式的测试步骤:

    SystemUtil.Run DataTable("<参数名称>", dtGlobalSheet), "<要将浏览器打开至的地址>"

    例如,如果要打开至 AdvantageDEMO 站点,可以输入以下内容:

    SystemUtil.Run DataTable("BrowserName", dtGlobalSheet), "https://www.advantageonlineshopping.com/#/"

备注: 如果将此步骤添加到稍后由其他测试调用的可重用操作,则必须在调用该操作的所有测试的“全局”选项卡中添加相关行。

返回页首

使用 WebUtil.LaunchBrowser 步骤启动浏览器

如果您正在使用 Business Process Testing 测试 Web 应用程序,请使用 WebUtil.LaunchBrowser 步骤在每个组件中根据需要启动相应的浏览器。

为浏览器参数提供一个参数。要使用的值与 BROWSER_ENV 环境变量使用的值相同。请参阅使用 BROWSER_ENV 环境变量启动浏览器:

  • CHROME

  • CHROME_EMULATOR

  • CHROME_HEADLESS
  • EDGE

  • FIREFOX

  • FIREFOX64

  • IE

  • IE64

  • PHANTOMJS

  • SAFARI

备注: 如果您使用的业务流程测试是通过 UFT One 版本 12.53 及更低版本创建的,Web.txt 函数库 (可在测试的应用程序区域中找到) 将不包含 LaunchBrowser 函数。因此,您将无法在关键字 GUI 组件中使用 LaunchBrowser 方法。

要使用此函数,请将以下代码复制到 Web.txt 函数库中:

Public Function LaunchBrowser(Browser, device_model, device_manufacturer, device_ostype, device_osversion)
    WebUtil.LaunchBrowser Browser, device_model, device_manufacturer, device_ostype, device_osversion
End Function

您为 WebUtil.LaunchBrowser 步骤中的 device_model 参数提供的值必须是 Digital Lab 向导的“设备”部分中显示的“设备名称”之一。

使用 CHROME_EMULATOR 浏览器时,可以在 EmulatedDevices.xml 文件中修改这些值。有关详细信息,请参阅配置模拟设备

以下示例是在 iPhone X 中启动 Chrome 仿真器浏览器:

Copy code
WebUtil.LaunchBrowser "CHROME_EMULATOR", "iPhone X"

返回页首

在测试运行期间动态加载对象存储库

如果测试要求每个浏览器类型具有不同的对象存储库,请在测试运行过程中加载相关对象存储库,而无需在测试运行前手动配置任何内容:

  1. 在“数据”窗格中,打开“全局”选项卡。

  2. 在“全局”选项卡中,单击要在其中存储参数的列的第一行。

  3. 输入该参数的名称,并单击“确定”

    例如,可以将此参数命名为 Browser (以将其标识为要运行测试的浏览器的名称)。

  4. 在数据表中,输入要运行测试的浏览器的名称。

  5. 添加以下格式的测试步骤:

    If DataTable("<数据表参数>") = <浏览器 1> Then
    	RepositoriesCollection.Add "<对象存储库的位置>"
    ElseIf DataTable("<数据表参数>") = <浏览器 2> Then
    	RepositoriesCollection.Add "<location to object repository>"
    End If
  6. 为应用程序/网页添加其他步骤。

    测试运行时,将加载相应的对象存储库,并且测试步骤会使用加载的对象存储库中的对象。

返回页首

为特定于浏览器的行为添加步骤

如果需要在测试过程中添加步骤以执行特定于浏览器的行为,请使用测试参数为此行为创建步骤。

  1. 在画布中选择操作。

  2. 在“属性”窗格中,选择“参数”选项卡。

  3. 在“参数”选项卡中,单击“添加”按钮。

  4. 在参数网格中,提供参数的名称。例如,您可以将参数命名为 ActiveBrowser,以表明参数的值代表当前正在使用的浏览器。

  5. 将步骤添加到测试。可以通过使用 Parameter 对象来使用参数的值:

    Select Case Parameter("<参数名>")
    	Case "<浏览器 1>"
    	'Do something specific for browser 1
    	Case "<浏览器 2>"
    	'Do something specific for browser 2
    End Select

    备注: 根据需要为每个浏览器类型添加其他 Case 语句

测试运行时,测试步骤将按照所需 Case 语句中指定的操作运行。

返回页首