用 Visual Studio 管理测试控制器和测试代理
如果要使用运行的Visual Studio远程运行测试,分布在多台计算机分发测试或运行负载测试,必须配置测试控制器,测试代理,且测试设置文件。本主题描述如何管理测试控制器和测试代理,在第一次以后安装和配置它们。
![]() |
---|
如果您使用运行的 Microsoft 测试管理器 在实验室环境中进行测试,可以管理测试控制器及其代理通过在 *** 实验室中心 *** 的 *** 测试控制器管理器 ***Microsoft 测试管理器的。仅在您使用Visual Studio管理测试,本主题适用。 |
有关如何安装和配置信息的测试代理和测试控制器运行测试的是Visual Studio,请参见 用 Visual Studio 设置测试控制器和测试代理以管理测试。
若要配置和监视该测试控制器以及任何注册的代理,在 测试 菜单中 Visual Studio 2012 选择 *** 管理测试控制器 ***。
在安装和配置测试控制器和测试代理后,请使用以下过程来管理它们:
将测试代理添加到测试控制器中
从测试控制器中移除测试代理
更改测试代理的设置
配置测试控制器
运行测试时管理代理
确定用于运行测试的测试控制器
从延迟签名的测试程序集加载测试
将测试代理添加到测试控制器中
您可能希望将测试代理添加到其他测试控制器或者必须将测试代理添加到已安装的测试控制器。
将测试代理添加到测试控制器中
选择 *** 开始 ***,*** 所有程序 ***,*** Microsoft Visual Studio ***,*** Microsoft Visual Studio Test Agent配置工具 ***。
将显示**“配置测试代理”**对话框。
说明
您必须已经安装了测试代理才能将其添加到测试控制器中。有关如何安装测试代理的更多信息,请参见安装和配置测试代理和测试控制器。
如果要更改测试代理的运行方式,选择 *** 运行选项 ***。
将显示有关如何运行测试代理的两个选项:
服务 如果不必运行与桌面进行交互的自动测试(如编码 UI 测试,或在测试运行时创建视频录制),则在**“将测试代理作为以下内容运行”下选择“服务”。测试代理将作为服务启动。选择“下一步”**。
您现在可以输入在测试代理作为服务启动时的用户详细信息。
输入名称在 *** 用户名 ***。
输入密码。*** 密码 ***。
重要的用户帐户信息
用户帐户不支持空密码。
如果要使用 IntelliTrace 回收器或网络仿真,则用户帐户必须是 Administrators 组的成员。
如果代理用户名不在代理服务中,则它将尝试添加代理用户名,这需要有测试控制器权限。
尝试使用测试控制器的用户必须位于测试控制器的 Users 帐户中,否则他们将无法针对控制器运行测试。
交互进程 如果要运行必须与桌面进行交互的自动测试(如编码 UI 测试,或在测试运行时创建视频录制),则选择**“交互进程”**。测试代理将作为交互进程启动,而不是作为服务启动。
在下的页上,键入有关用户,在测试代理作为进程启动时详细信息以及其他选项。
输入名称在 *** 用户名 ***。
输入密码。*** 密码 ***。
说明
如果将测试代理配置为通过不是当前活动用户的另一个用户作为交互进程运行,则必须重新启动计算机,并以这另一个用户的身份登录以便能够启动代理。此外,用户帐户不支持空密码。如果要使用 IntelliTrace 回收器或网络仿真,则用户帐户必须是 Administrators 组的成员。
重要的用户帐户信息
用户帐户不支持空密码。
如果要使用 IntelliTrace 或网络仿真数据和诊断适配器,则用户帐户必须是 Administrators 组的成员。如果运行测试代理的计算机使用的是 Windows Vista 或更高版本或者任何具有最少特权用户帐户的操作系统,则还必须以管理员身份(提升的权限)运行该计算机。
如果代理用户名不在代理服务中,则它将尝试添加代理用户名,这需要有测试控制器权限。
尝试使用测试控制器的用户必须位于测试控制器的 Users 帐户中,否则他们将无法针对控制器运行测试。
为了确保具有测试代理的计算机在重新启动之后可以运行测试,您可以设置计算机以在测试代理使用时自动登录。选择**“自动登录”**。这会以加密形式将用户名和密码存储在注册表中。
因为屏幕保护程序可能会妨碍任何必须与桌面交互的自动测试,所以为了确保禁用屏幕保护程序,请选择**“确保禁用屏幕保护程序”**。
警告
如果自动登录或禁用屏幕保护程序,则存在安全风险。如果启用自动登录,则其他用户能够启动此计算机并能够使用自动登录的帐户。如果禁用屏幕保护程序,则计算机可能不会提示用户通过登录来解锁计算机。这样,任何能够实际接触到计算机的人员都可以访问该计算机。如果在计算机上启用这些功能,则应该确保这些计算机位于安全的场所。例如,这些计算机位于安全的实验室中。(如果清除“确保禁用屏幕保护程序”,就不会启用屏幕保护程序。)
若要向其他测试控制器注册此代理,请选择**“向测试控制器注册”。键入测试控制器的名称,该名称后面是 : 以及在“向以下测试控制器注册测试代理”**中使用的端口号。例如,键入 agent1:6901。
说明
默认端口号是 6901。
若要保存更改,请选择 *** 应用设置 ***。关闭 *** 配置摘要 *** 对话框,然后关闭测试代理配置工具。
-
警告
如果代理当前被配置为在另一个测试控制器上运行,则必须从该控制器中移除测试代理。如果测试控制器是向团队项目注册的,则可以在 Microsoft 测试管理器的“实验室中心”中使用“测试控制器管理器”移除测试代理。否则,移除测试代理,在Visual Studio中的 测试 菜单上,选择 *** 管理测试控制器 ***。
从测试控制器中移除测试代理
在移除测试代理之前,必须将其设置为脱机状态。
从测试控制器中移除测试代理
如果测试控制器未向团队项目注册,请按以下步骤进行操作。
在 Visual Studio的 测试 菜单中,选择 *** 管理测试控制器 ***。
此时将显示**“管理测试控制器”**对话框。
在**“控制器”**下拉列表中,键入安装了测试控制器的计算机的名称。如果您先前已经管理了特定测试控制器,则可以从列表中选择该名称。
在**“代理”**窗格中,选择测试代理名称。如果代理处于联机状态,请选择 ***** 脱机。*****若要移除它,请选择 *** 移除 ***。
说明
移除测试代理只是解除该代理与测试控制器之间的关联。完全卸载测试代理,请使用在测试代理计算机上的 *** 过程和函数 *** 控制面板。
如果测试控制器是向团队项目注册的,请按以下步骤进行操作。
打开 Microsoft 测试管理器:
选择 *** 启动 ***,*** 所有程序 ***,*** Microsoft Visual Studio 2012 ***,*** Microsoft测试管理器 ***。
选择 *** 实验室中心 ***,*** 管理员 ***。
此时将显示**“测试控制器管理器”**视图。
从测试控制器列表中选择测试控制器。
任何测试代理向此测试控制器注册现在显示在测试代理列表中。
说明
若要将一个测试代理设置为作为能与桌面交互的进程运行,则将在列表中显示该测试代理,且其名称前有一个星号。
选择要移除的代理。如果代理处于联机状态,请选择 *** 脱机 ***。若要移除它,请选择 *** 移除 *** 按钮。
说明
移除测试代理只是解除该代理与测试控制器之间的关联。完全卸载测试代理,请使用在测试代理计算机上的 *** 过程和函数 *** 控制面板。
您无法使用此过程中的步骤将测试代理移至另一个测试控制器。若要将测试代理移至另一个测试控制器,请将该测试代理从其当前的测试控制器中移除。然后,可以按照此过程中的步骤将测试代理添加到测试控制器中。
更改测试代理的设置
测试代理的状态可以是以下任何一个值:
状态 |
说明 |
---|---|
运行测试 |
运行测试 |
就绪 |
可用于运行测试或收集数据和诊断信息 |
脱机 |
不可用于运行测试或收集数据和诊断信息 |
已断开连接 |
测试代理未启动 |
- 您可以使用以下过程为测试代理更改状态和其他设置。
如果向团队项目注册了测试控制器,则可以使用 Microsoft 测试管理器的**“实验室中心”中的“测试控制器管理器”**,来配置和监视该测试控制器以及任何注册的测试代理。否则,配置和监视该测试控制器以及任何注册的代理,选择在Visual Studio中 *** 负载测试 *** 菜单和指向 *** 管理测试控制器 *** 或从选择 *** 管理测试控制器 *** 负载测试工具栏上的。
更改测试代理的设置
如果向测试控制器注册了测试代理,且测试控制器已向团队项目注册,请按以下步骤进行操作:
- 在 Microsoft 测试管理器,选择 *** 实验室中心 ***,*** 管理员 ***。
如果向测试控制器注册了测试代理,且测试控制器未向团队项目注册,请按以下步骤进行操作:
在Visual Studio中,在 *** 负载测试 *** 菜单中,选择 *** 管理测试控制器 *** 或从选择 *** 管理测试控制器 *** 负载测试工具栏上的。
此时将显示**“管理测试控制器”**对话框。
在测试控制器列表中,选择要更改的测试代理所属的测试控制器的名称。如果该测试控制器未出现在列表中,请检查是否正确注册了该测试控制器。有关更多信息,请参见以下关于如何配置测试控制器的过程。
(可选)在 *** 测试代理 *** 窗格中,选择要更改属性的测试代理计算机。
如果使用 Microsoft 测试管理器,选择 *** 配置 ***。
- 或 -
如果使用Visual Studio中,选择 属性。
根据需要更改以下测试代理属性:
测试代理属性 |
说明 |
---|---|
权重 |
用于在使用具有不同性能级别的测试代理时分布负载。例如,权重为 100 的测试代理获得的负载将为权重为 50 的测试代理的两倍。 |
IP 切换 |
用于配置 IP 切换。IP 切换使测试代理可以使用一个 IP 地址范围向服务器发送请求。这模拟了来自不同客户端计算机的调用。 如果负载测试要访问网络场,则 IP 切换很重要。大多数负载平衡器通过使用客户端的 IP 地址在客户端与特定的 Web 服务器之间建立关联。如果所有请求看上去都来自单个客户端,则负载平衡器不会平衡负载。若要在 Web 场中实现较好的负载平衡,请确保请求来自某个范围内的 IP 地址。 ![]()
您可以指定网络适配器,也可以使用“(全部未指定)”自动选择当前未使用的网络适配器。
若要使用IP切换功能,则Visual Studio服务在管理员组中必须运行的用户的身份该代理计算机的测试代理。此用户是在安装代理过程中选择的,但是可以通过修改服务的属性并重启该服务来进行更改。 若要验证 IP 切换是否正常工作,请对 Web 服务器启用 IIS 登录,并使用 IIS 登录功能验证请求是否来自您配置的 IP 地址。 |
特性 |
可在测试代理选择中使用的名称/值对集。例如,某个测试可能会要求某个特定的操作系统 (OS)。可以将 *** 角色 *** 选项卡的属性测试设置文件,可用于选择具有匹配的特性的测试代理。如果要执行在多台计算机上的测试,请创建一个特性在配置运行测试,然后对每个匹配的属性测试代理在该角色要使用的测试设置角色。有关属性的信息添加到中的一个角色测试设置文件,请参见 指定 Visual Studio 测试的测试设置。 ![]()
此设置只能向测试控制器注册未注册到团队项目的测试代理,因为这些特性只用于测试Visual Studio的设置。
|
测试代理权重和测试代理特性的更改会立即生效,但不会影响正在运行的测试。IP 地址范围将在测试控制器重新启动之后生效。
(可选)若要更改测试代理的状态,请在列表中选择代理,然后从基于代理当前状态的可用选项中选择操作。
说明
如果测试代理正在作为进程运行,则可以通过在安装测试代理的计算机上运行的通知区域图标来管理测试代理的状态。这将显示测试代理的状态。如果代理作为使用此工具的进程运行,您可以启动、停止或重新启动代理。若要测试代理作为进程启动,如果未运行,请选择 *** 启动 ***,*** 所有程序 ***,*** Microsoft Visual Studio ***,*** Microsoft Visual Studio Test Agent ***。这将添加通知区域图标。
配置测试控制器
若要配置测试控制器,您必须使用**“Team Test Controller 配置工具”**。当您配置测试控制器时,您可以向不同的团队项目集合注册测试控制器,或者可以从团队项目集合中注销测试控制器。
如果要向 Team Foundation Server 项目集合注册测试控制器,则用于测试控制器服务的帐户必须是团队项目集合的“项目集合测试服务帐户”组的成员,或者用于运行测试控制器配置工具的帐户必须是“项目集合管理员”。
![]() |
---|
如果要从具有现有环境的团队项目集合中注销测试控制器,则在移动团队项目集合并向该移动的团队项目集合重新注册测试控制器时,仍会维持这些环境。 |
配置测试控制器
若要运行该工具重新配置您在+任何+时间测试控制器,请选择 *** 启动 ***,*** 所有程序 ***,*** Microsoft Visual Studio ***,*** Microsoft Visual Studio测试控制器配置工具 ***。
将显示**“配置测试控制器”**对话框。
选择要用作测试控制器服务的登录帐户的用户。
说明
用户帐户不支持空密码。
(可选),如果要使用此使用 Microsoft 测试管理器,测试与实验室环境,您的管理员必须注册团队项目集合的管理员包含环境的团队项目。选择**“向团队项目集合注册”**。若要查找团队项目集合,请选择 浏览 或可以在 *** 注册以下团队项目集合的测试控制器 ***的名称。确保输入完整路径。例如,http://<server name>:8080/tfs/DefaultCollection。
说明
有关环境的更多信息,请参见设置测试计算机以运行测试或收集数据。
(可选)在中,如果您不想将测试与实验室环境的管理员,但是,只从Visual Studio运行测试,清除的 ***** 具有对团队项目集合注册 *****测试。
(可选)若要针对负载测试配置测试控制器,请选择**“针对负载测试进行配置”。然后在“在以下 SQL Server 实例中创建负载测试结果数据库”**中键入 SQL Server 实例。
有关负载测试的更多信息,请参见使用 Visual Studio Web 性能和负载测试进行性能和压力测试和将测试控制器和测试代理用于负载测试。
![]() |
---|
有关测试控制器的更多疑难解答信息,请参见安装和配置测试代理和测试控制器。 |
确定用于运行测试的测试控制器
如果在使用测试控制器运行测试时出现问题,则您可能需要确定用于验证测试控制器服务的测试控制器是否正在运行,或是否启动了测试控制器计算机。
使用 Visual Studio 运行测试
如果您运行测试使用Visual Studio中,您使用运行测试显示测试设置的测试控制器。可使用本主题中的过程来查看测试设置:如何:通过 Microsoft Visual Studio 编辑测试设置文件。
使用 Microsoft 测试管理器运行测试
在使用 Microsoft 测试管理器运行测试的情况下,若要使用测试控制器,您必须创建一个环境。在运行测试时,可选择下列选项之一:
运行:这将通过使用测试计划中指定的环境来运行测试。
使用选项运行:利用此选项,可以使用其他环境来运行测试。
若要查找测试计划中指定的环境,请使用以下主题来在测试计划的**“属性”**视图中查看环境:如何:为测试计划选择测试设置和环境。
在了解用来运行测试的环境后,可使用以下过程来查看此环境的详细信息。
确定环境的测试控制器
打开 Microsoft 测试管理器:
选择 *** 启动 ***,*** 所有程序 ***,*** Microsoft Visual Studio 2012 ***,*** Microsoft测试管理器 ***。
选择 *** 实验室中心 ***,*** 实验室 ***。
此时将显示**“环境”**视图。
选择用来运行您从测试列表然后选择 打开的环境。
此时将显示该环境。现在可以查看为环境选择的测试控制器。测试控制器的名称与运行它的计算机的名称相同。
说明
测试控制器服务称为“Visual Studio Test Controller”。如果测试控制器存在问题,则您可能需要验证是否已启动计算机以及此服务是否正在计算机上运行。
当使用测试控制器运行测试时管理代理
将应用程序的角色添加到 Visual Studio 2012 的测试设置中时,您可以为每个角色添加代理属性。这将确定对此角色可用的测试代理。当使用这些测试设置运行测试时,为测试设置选择的测试控制器将确定所需代理的可用性。下面是在确定代理可用性时可能发生的情况:
对于必须运行测试的角色,没有可供使用的代理。您的测试无法运行。可以执行下列操作之一,然后重新运行测试:
可以等待代理变为可用于此运行测试的角色。
如果有任何处于脱机状态的代理可用于此角色,您可以重新启动该代理,以使其可用。
您可以为该角色将具有正确代理属性的另一个代理添加到测试控制器中。
您可以在测试设置中为此角色更改代理属性,以启用想要使用的其他代理。
对于运行诊断数据适配器的一个或多个角色,没有可用的代理。测试可以运行,但是诊断数据适配器无法运行。您可以在没有诊断数据适配器的情况下运行测试,也可以执行下列操作之一并重新运行测试:
可以等待代理变为可供这些角色使用。
如果有任何处于脱机状态的代理可用于此角色,则您必须通过**“测试”菜单上的“管理测试控制器”**将代理的状态更改为联机。此外,如果该代理已与控制器断开连接,则可能需要重新启动该代理。
请验证此测试运行可能需要的所有代理都没有忙于运行测试。可以通过**“测试”菜单上的“管理测试控制器”**检查任何代理的状态。
您可以为该角色将具有正确代理属性的另一个代理添加到测试控制器中。
您可以在测试设置中为此角色更改代理属性,以启用想要使用的其他代理。
从延迟签名的程序集加载测试
测试控制器和测试代理只能加载强签名的测试程序集或未签名的测试程序集。某些测试程序集是延迟签名的程序集,因为它们需要拥有访问应用程序的生产程序集的权限。但是,这些程序集不是强签名的程序集,因为它们仅是测试程序集,不会分发出去。由于这些程序集会被延迟签名,导致无法加载,所以您必须在将加载这些程序集的所有计算机(包括测试控制器计算机)上为这些程序集禁用强名称验证。若要禁用延迟签名验证,请使用 sn.exe。可能还需要包括请求跳过其强名称验证的延迟签名程序集的公钥标记。
请使用Sn.exe(强名称工具) 禁用延迟签名验证。
这样在运行此命令的计算机上只会禁用指定程序集的强名称验证。执行此操作需要有足够的权限。
测试运行完成后,应使用 SN.exe 命令重新启用延迟的签名验证。
建议通过在脚本中使用 SN.exe 命令来禁用和重新启用签名验证。可以在安装脚本中禁用验证,在清理脚本中重新启用验证。