管理测试控制器和测试代理

如果您希望远程运行测试、将测试工作分配给多台计算机、运行负载测试,或者在具有 Microsoft 测试管理器的环境中按照测试计划运行测试,则必须安装测试控制器和测试代理。 为此,您可以使用物理计算机、虚拟机或二者的组合。 可以在一台计算机上安装和运行测试控制器。 而在其他每台计算机上安装和运行测试代理。 测试控制器将管理代理并传达每个代理需要做的工作。 代理可以运行测试,或者可以在测试运行时运行诊断数据适配器。

有关如何安装和配置测试代理和测试控制器的更多信息,请参见安装和配置 Visual Studio 代理以及测试和生成控制器测试控制器和测试代理要求

您可以管理测试代理和测试控制器。 如果向团队项目注册了测试控制器,则可以使用 Microsoft 测试管理器的**“实验室中心”中的“测试控制器管理器”,来配置和监视该测试控制器以及任何注册的测试代理。 否则,若要配置和监视该测试控制器以及任何注册的代理,请在 Microsoft Visual Studio 2010 中单击“测试”并指向“管理测试控制器”**。

提示

您不应重命名安装了测试控制器的计算机,因为该计算机的名称用于标识测试控制器。 如果您这样做,则必须重新创建使用了此测试控制器的物理环境或任何使用了此测试控制器的已部署虚拟环境。

为测试控制器管理测试代理

在完成了测试控制器和测试代理的安装和配置之后,请使用以下过程来管理测试代理。

  • 将测试代理添加到测试控制器中

  • 从测试控制器中移除测试代理

  • 更改测试代理的设置

  • 配置测试控制器

  • 运行测试时管理代理

  • 确定用于运行测试的测试控制器

  • 从延迟签名的测试程序集加载测试

将测试代理添加到测试控制器中

您可能需要将一个测试代理添加到不同的测试控制器中,或者可能必须将测试代理添加到刚才安装的测试控制器中。

将测试代理添加到测试控制器中

  1. 单击**“开始”,然后单击“所有程序”。 指向“Microsoft Visual Studio 2010”,然后单击“Microsoft Visual Studio Test Agent 2010 配置工具”**。

    此时将显示**“配置测试代理”**对话框。

    提示

    您必须已经安装了测试代理才能将其添加到测试控制器中。 有关如何安装测试代理的更多信息,请参见安装和配置 Visual Studio 代理以及测试和生成控制器

  2. 若要更改测试代理的运行方式,请单击**“运行选项”**。

    将显示有关如何运行测试代理的两个选项:

    服务 如果不必运行与桌面进行交互的自动测试(如编码 UI 测试,或在测试运行时创建视频录制),则在**“将测试代理作为以下内容运行”下选择“服务”。 测试代理将作为服务启动。 单击“下一步”**。

    您现在可以输入在测试代理作为服务启动时的用户详细信息。

    1. 在**“用户名称”**中键入名称。

    2. 在**“密码”**中键入密码。

      重要的用户帐户信息

      • 用户帐户不支持空密码。

      • 如果要使用 IntelliTrace 回收器或网络仿真,则用户帐户必须是 Administrators 组的成员。

      • 如果代理用户名不在代理服务中,则它将尝试添加代理用户名,这需要有测试控制器权限。

      • 尝试使用测试控制器的用户必须位于测试控制器的 Users 帐户中,否则他们将无法针对控制器运行测试。

    交互进程 如果要运行必须与桌面进行交互的自动测试(如编码 UI 测试,或在测试运行时创建视频录制),则选择**“交互进程”。 测试代理将作为交互进程启动,而不是作为服务启动。 单击“下一步”**。

    您现在可以输入在测试代理作为进程启动时的用户详细信息以及其他选项。

    1. 在**“用户名称”**中键入名称。

    2. 在**“密码”**中键入密码。

      提示

      如果将测试代理配置为通过不是当前活动用户的另一个用户、作为交互进程运行,则必须重新启动计算机,并以能够启动代理的此另一个用户的身份登录。 此外,用户帐户不支持空密码。 如果要使用 IntelliTrace 回收器或网络仿真,则用户帐户必须是 Administrators 组的成员。

      重要的用户帐户信息

      • 用户帐户不支持空密码。

      • 如果要使用 IntelliTrace 或网络仿真数据和诊断适配器,则用户帐户必须是 Administrators 组的成员。 如果运行测试代理的计算机使用的是 Windows Vista 或更高版本或者任何具有最少特权用户帐户的操作系统,则还必须以管理员身份(提升的权限)运行该计算机。

      • 如果代理用户名不在代理服务中,则它将尝试添加代理用户名,这需要有测试控制器权限。

      • 尝试使用测试控制器的用户必须位于测试控制器的 Users 帐户中,否则他们将无法针对控制器运行测试。

    3. 为了确保具有测试代理的计算机在重新启动之后可以运行测试,您可以设置计算机以在测试代理使用时自动登录。 选择**“自动登录”**。 这会以加密形式将用户名和密码存储在注册表中。

    4. 因为屏幕保护程序可能会妨碍任何必须与桌面交互的自动测试,所以为了确保禁用屏幕保护程序,请选择**“确保禁用屏幕保护程序”**。

      警告

      如果自动登录或禁用屏幕保护程序,则存在安全风险。 如果启用自动登录,则其他用户能够启动此计算机并能够使用自动登录的帐户。 如果禁用屏幕保护程序,则计算机可能不会提示用户通过登录来解锁计算机。 这样,任何能够实际接触到计算机的人员都可以访问该计算机。 如果在计算机上启用这些功能,则应该确保这些计算机位于安全的场所。 例如,这些计算机位于安全的实验室中。 (如果清除“确保禁用屏幕保护程序”,就不会启用屏幕保护程序。)

  3. 若要向其他测试控制器注册此代理,请选择**“向测试控制器注册”。键入测试控制器的名称,该名称后面是 : 以及在“向以下测试控制器注册测试代理”**中使用的端口号。 例如,键入 agent1:6901。

    提示

    默认端口号是 6901。

  4. 若要保存所做的更改,请单击**“应用设置”**。

    将显示**“配置摘要”**对话框,其中显示了测试代理的每个配置步骤的状态。

  5. 若要关闭**“配置摘要”对话框,请单击“关闭”。 然后单击“关闭”**,以关闭测试代理配置工具。

    警告

    如果代理当前被配置为在另一个测试控制器上运行,则必须从该控制器中移除测试代理。 如果测试控制器是向团队项目注册的,则可以在 Microsoft 测试管理器的“实验室中心”中使用“测试控制器管理器”移除测试代理。 另外,若要移除测试代理,请在 Microsoft Visual Studio 2010 中单击“测试”并指向“管理测试控制器”

从测试控制器中移除测试代理

在移除测试代理之前,必须将其设置为脱机状态。

从测试控制器中移除测试代理

  1. 如果测试控制器未向团队项目注册,请按以下步骤进行操作。

    1. 在 Visual Studio 中的**“测试”菜单上,单击“管理测试控制器”**。

      此时将显示**“管理测试控制器”**对话框。

    2. 在**“控制器”**下拉列表中,键入安装了测试控制器的计算机的名称。 如果您先前已经管理了特定测试控制器,则可以从列表中选择该名称。

    3. 在**“代理”窗格中,选择测试代理名称。 如果代理仍处于联机状态,请单击“脱机”。若要移除它,请单击“移除”**。

      提示

      移除测试代理只是解除该代理与测试控制器之间的关联。 若要完全卸载测试代理,请使用测试代理计算机上“控制面板”中的“添加或删除程序”

  2. 如果测试控制器是向团队项目注册的,请按以下步骤进行操作。

    1. 打开 Microsoft 测试管理器。

    提示

    若要显示 Microsoft 测试管理器窗口,请单击“开始”,然后单击“所有程序”。 指向“Microsoft Visual Studio 2010”,然后单击“Microsoft 测试管理器 2010”。

    1. 单击中心组切换器上的下箭头,然后单击**“实验室中心”。 单击“控制器”**。

      此时将显示**“测试控制器管理器”**视图。

    2. 从测试控制器列表中选择测试控制器。

      向此测试控制器注册的任何测试代理现在应该显示在测试代理列表中。

    提示

    若要将一个测试代理设置为作为能与桌面交互的进程运行,则将在列表中显示该测试代理,且其名称前有一个星号。

    1. 选择要移除的代理。 如果代理仍处于联机状态,请单击**“脱机”**。若要移除它,请单击“移除所选测试代理”图标。

      提示

      移除测试代理只是解除该代理与测试控制器之间的关联。 若要完全卸载测试代理,请使用测试代理计算机上“控制面板”中的“添加或删除程序”

    您无法使用此过程中的步骤将测试代理移至另一个测试控制器。 若要将测试代理移至另一个测试控制器,请将该测试代理从其当前的测试控制器中移除。 然后,可以按照此过程中的步骤将测试代理添加到测试控制器中。

更改测试代理的设置

测试代理的状态可以是以下任何一个值:

状态

说明

运行测试

运行测试

就绪

可用于运行测试或收集数据和诊断信息

脱机

不可用于运行测试或收集数据和诊断信息

已断开连接

测试代理未启动

  • 您可以使用以下过程为测试代理更改状态和其他设置。

如果向团队项目注册了测试控制器,则可以使用 Microsoft 测试管理器的**“实验室中心”中的“测试控制器管理器”,来配置和监视该测试控制器以及任何注册的测试代理。 否则,若要配置和监视该测试控制器以及任何注册的代理,请在 Microsoft Visual Studio 2010 中单击“测试”并指向“管理测试控制器”**。

更改测试代理的设置

  1. 如果向测试控制器注册了测试代理,且测试控制器已向团队项目注册,请按以下步骤进行操作:

    1. 在 Microsoft 测试管理器中,单击中心组切换器上的下箭头,然后单击**“实验室中心”**。

      若要显示 Microsoft 测试管理器窗口,请单击“开始”,然后单击“所有程序”。 指向“Microsoft Visual Studio 2010”,然后单击“Microsoft 测试管理器 2010”。

    2. 单击**“控制器”**。

      此时将显示**“测试控制器管理器”**。

  2. 如果向测试控制器注册了测试代理,且测试控制器未向团队项目注册,请按以下步骤进行操作:

    1. 在 Microsoft Visual Studio 2010 中,单击“测试”并指向**“管理测试控制器”**。

      此时将显示**“管理测试控制器”**对话框。

  3. 在测试控制器列表中,选择要更改的测试代理所属的测试控制器的名称。 如果该测试控制器未出现在列表中,请检查是否正确注册了该测试控制器。 有关更多信息,请参见以下关于如何配置测试控制器的过程。

  4. (可选)在**“测试代理”**窗格中,单击要为其更改属性的测试代理计算机。

  5. 如果您使用的是 Microsoft 测试管理器,请单击**“配置”**。

    - 或 -

    如果您使用的是 Microsoft Visual Studio 2010,请单击**“属性”**。

  6. 根据需要更改以下测试代理属性:

测试代理属性

说明

权重

用于在使用具有不同性能级别的测试代理时分布负载。 例如,权重为 100 的测试代理获得的负载将为权重为 50 的测试代理的两倍。

IP 切换

用于配置 IP 切换。 IP 切换使测试代理可以使用一个 IP 地址范围向服务器发送请求。 这模拟了来自不同客户端计算机的调用。

如果负载测试要访问网络场,则 IP 切换很重要。 大多数负载平衡器通过使用客户端的 IP 地址在客户端与特定的 Web 服务器之间建立关联。 如果所有请求看上去都来自单个客户端,则负载平衡器不会平衡负载。 若要在 Web 场中实现较好的负载平衡,请确保请求来自某个范围内的 IP 地址。

注意注意
您可以指定网络适配器,也可以使用“(全部未指定)”自动选择当前未使用的网络适配器。

若要使用 IP 切换功能,则必须以该代理计算机管理员组中的用户的身份运行 Visual Studio Test Agent 服务。 此用户是在安装代理过程中选择的,但是可以通过修改服务的属性并重启该服务来进行更改。

若要验证 IP 切换是否正常工作,请对 Web 服务器启用 IIS 登录,并使用 IIS 登录功能验证请求是否来自您配置的 IP 地址。

特性

可在测试代理选择中使用的名称/值对集。 例如,某个测试可能会要求某个特定的操作系统 (OS)。 您可以在 Visual Studio 的测试设置文件的“角色”选项卡上添加特性。 有关更多信息,请参见创建测试设置以从 Visual Studio 中运行自动测试

注意注意
此设置只用于已向测试控制器(未向团队项目注册)注册的代理,因为这些特性只用于 Microsoft Visual Studio 2010 的测试设置。

测试代理权重和测试代理特性的更改会立即生效,但不会影响正在运行的测试。 IP 地址范围将在测试控制器重新启动之后生效。

  1. (可选)若要更改测试代理的状态,请在列表中选择代理,然后从基于代理当前状态的可用选项中选择操作。

    提示

    如果测试代理正在作为进程运行,则可以通过在安装测试代理的计算机上运行的通知区域图标来管理测试代理的状态。 这将显示测试代理的状态。 如果代理作为使用此工具的进程运行,您可以启动、停止或重新启动代理。 若要在测试代理未运行时将其作为进程启动,请单击“开始”,然后单击“所有程序”。 指向“Microsoft Visual Studio 2010”,然后单击“Microsoft Visual Studio Test Agent 2010”。 这将添加通知区域图标。

配置测试控制器

若要配置测试控制器,您必须使用**“Team Test Controller 配置工具”**。 当您配置测试控制器时,您可以向不同的团队项目集合注册测试控制器,或者可以从团队项目集合中注销测试控制器。

如果要向 Team Foundation Server 项目集合注册测试控制器,则用于测试控制器服务的帐户必须是团队项目集合的“项目集合测试服务帐户”组的成员,或者用于运行测试控制器配置工具的帐户必须是“项目集合管理员”。

提示

如果要从具有现有环境的团队项目集合中注销测试控制器,则在移动团队项目集合并向该移动的团队项目集合重新注册测试控制器时,仍会维持这些环境。

配置测试控制器

  1. 若要随时运行该工具来重新配置测试控制器,请单击**“开始”,然后单击“所有程序”。 指向“Microsoft Visual Studio 2010”,然后单击“Microsoft Visual Studio Test Controller 2010 配置工具”**。

    此时将显示**“配置测试控制器”**对话框。

  2. 选择要用作测试控制器服务的登录帐户的用户。

    提示

    用户帐户不支持空密码。

  3. (可选)如果要将此测试控制器用于物理环境或虚拟环境,则必须向包含环境的团队项目所属的团队项目集合注册该控制器。 选择**“向团队项目集合注册”。 若要找到团队项目集合,请单击“浏览”,或者可以在“向以下团队项目集合注册测试控制器”**中键入名称。 确保输入完整路径。 例如,http://<服务器名称>:8080/tfs/DefaultCollection。

    提示

    有关环境的更多信息,请参见设置测试计算机以运行测试或收集数据

  4. (可选)如果不想将测试控制器用于物理环境或虚拟环境,而只想从 Microsoft Visual Studio 2010 中运行测试,请清除**“向团队项目集合注册”**。

  5. (可选)若要针对负载测试配置测试控制器,请选择**“针对负载测试进行配置”。 然后在“在以下 SQL Server 实例中创建负载测试结果数据库”**中键入 SQL Server 实例。

    有关负载测试的更多信息,请参见测试应用程序性能和压力将测试控制器和测试代理用于负载测试

  6. (可选)若要管理负载测试的虚拟用户许可证,请单击**“管理虚拟用户许可证”**。

    此时将显示**“管理虚拟用户许可证”**对话框。 您可以根据需要添加和移除许可证密钥。

  7. 若要应用所做更改,请单击**“应用设置”**。

    此时将显示**“配置摘要”**对话框,其中显示了测试控制器的每个配置步骤的状态。

  8. 若要关闭**“配置摘要”对话框,请单击“关闭”。 然后单击“关闭”**,以关闭“Team Test Controller 配置工具”。

提示

有关测试控制器的更多疑难解答信息,请参见安装和配置 Visual Studio 代理以及测试和生成控制器

确定用于运行测试的测试控制器

如果在使用测试控制器运行测试时出现问题,则您可能需要确定用于验证测试控制器服务的测试控制器是否正在运行,或是否启动了测试控制器计算机。

使用 Visual Studio 运行测试

如果使用 Microsoft Visual Studio 2010 运行测试,则测试设置中将显示用来运行测试的测试控制器。 可使用本主题中的过程来查看测试设置:如何:通过 Microsoft Visual Studio 编辑测试设置文件

使用 Microsoft 测试管理器运行测试

在使用 Microsoft 测试管理器运行测试的情况下,若要使用测试控制器,您必须创建一个环境。 在运行测试时,可选择下列选项之一:

  • 运行:这将通过使用测试计划中指定的环境来运行测试。

  • 使用选项运行:利用此选项,可以使用其他环境来运行测试。

若要查找测试计划中指定的环境,请使用以下主题来在测试计划的**“属性”**视图中查看环境:如何:为测试计划选择测试设置和环境

在了解用来运行测试的环境后,可使用以下过程来查看此环境的详细信息。

确定环境的测试控制器

  1. 打开 Microsoft 测试管理器。

    提示

    若要显示 Microsoft 测试管理器窗口,请单击“开始”,然后单击“所有程序”。 指向“Microsoft Visual Studio 2010”,然后单击“Microsoft 测试管理器 2010”。

  2. 单击中心组切换器上的下箭头,然后单击**“实验室中心”。 单击“实验室”**。

    此时将显示**“环境”**视图。

  3. 从列表中选择用来运行测试的环境,然后单击**“打开”**。

    此时将显示该环境。 现在可以查看为环境选择的测试控制器。 测试控制器的名称与运行它的计算机的名称相同。

    提示

    测试控制器服务称为“Visual Studio Test Controller”。 如果测试控制器存在问题,则您可能需要验证是否已启动计算机以及此服务是否正在计算机上运行。

当使用测试控制器运行测试时管理代理

将应用程序的角色添加到 Microsoft Visual Studio 2010 的测试设置中时,您可以为每个角色添加代理属性。 这将确定对此角色可用的测试代理。当使用这些测试设置运行测试时,为测试设置选择的测试控制器将确定所需代理的可用性。 下面是在确定代理可用性时可能发生的情况:

  • 对于必须运行测试的角色,没有可用的代理。 测试无法运行。 可以执行下列操作之一,然后重新运行测试:

    • 可以等待代理变为可用于此运行测试的角色。

    • 如果有任何处于脱机状态的代理可用于此角色,您可以重新启动该代理,以使其可用。

    • 您可以为该角色将具有正确代理属性的另一个代理添加到测试控制器中。

    • 您可以在测试设置中为此角色更改代理属性,以启用想要使用的其他代理。

  • 对于运行诊断数据适配器的一个或多个角色,没有可用的代理。 测试可以运行,但是诊断数据适配器无法运行。 您可以在没有诊断数据适配器的情况下运行测试,也可以执行下列操作之一并重新运行测试:

    • 可以等待代理变为可供这些角色使用。

    • 如果有任何处于脱机状态的代理可用于此角色,则您必须通过**“测试”菜单上的“管理测试控制器”**将代理的状态更改为联机。 另外,如果代理已与控制器断开连接,则必须重新启动代理。

    • 请验证此测试运行可能需要的所有代理都没有忙于运行测试。 可以通过**“测试”菜单上的“管理测试控制器”**检查任何代理的状态。

    • 您可以为该角色将具有正确代理属性的另一个代理添加到测试控制器中。

    • 您可以在测试设置中为此角色更改代理属性,以启用想要使用的其他代理。

从延迟签名的程序集加载测试

测试控制器和测试代理只能加载强签名的测试程序集或未签名的测试程序集。 某些测试程序集是延迟签名的程序集,因为它们需要拥有访问应用程序的生产程序集的权限。 但是,这些程序集不是强签名的程序集,因为它们仅是测试程序集,不会分发出去。 由于这些程序集会被延迟签名,导致无法加载,所以您必须在将加载这些程序集的所有计算机(包括测试控制器计算机)上为这些程序集禁用强名称验证。 若要禁用延迟签名验证,请使用 sn.exe。 可能还需要包括请求跳过其强名称验证的延迟签名程序集的公钥标记。

请使用Sn.exe(强名称工具) 禁用延迟签名验证。

这样在运行此命令的计算机上只会禁用指定程序集的强名称验证。 执行此操作需要有足够的权限。

测试运行完成后,应使用 SN.exe 命令重新启用延迟的签名验证。

建议通过在脚本中使用 SN.exe 命令来禁用和重新启用签名验证。 可以在安装脚本中禁用验证,在清理脚本中重新启用验证。

请参见

概念

安装和配置 Visual Studio 代理以及测试和生成控制器

设置测试计算机以运行测试或收集数据

其他资源

测试控制器和测试代理要求