C# Microsoft测试代理似乎正在阻止Outlook与exchange的连接

C# Microsoft测试代理似乎正在阻止Outlook与exchange的连接,c#,outlook,integration-testing,exchange-server,microsoft-test-manager,C#,Outlook,Integration Testing,Exchange Server,Microsoft Test Manager,核心问题 我遇到的问题是,通过Microsoft测试代理执行集成测试时,从Outlook到Exchange的连接被阻止(即Outlook处于断开连接状态)。测试通过Microsoft测试管理器启动。 下面是我遇到问题的集成测试的代码,我尽可能简化了代码,以排除集成测试中导致问题的代码。我还取消了运行所有其他测试 [TestMethod] public void LaunchOutlook() { Process.Start(new ProcessStartInfo(@"C:\Progra

核心问题

我遇到的问题是,通过Microsoft测试代理执行集成测试时,从Outlook到Exchange的连接被阻止(即Outlook处于断开连接状态)。测试通过Microsoft测试管理器启动。 下面是我遇到问题的集成测试的代码,我尽可能简化了代码,以排除集成测试中导致问题的代码。我还取消了运行所有其他测试

[TestMethod]
public void LaunchOutlook()
{
    Process.Start(new ProcessStartInfo(@"C:\Program Files (x86)\Microsoft Office\Office14\Outlook.exe"));
    Thread.Sleep(120000);
}
我可以通过更改线程来更改Outlook被阻止的时间。睡眠超时。测试运行时,我可以重新启动Outlook,但Outlook仍被阻止。测试结束后,Outlook仍在运行,与Exchange的连接将恢复。Outlook 2010和Outlook 2013都会出现这种情况。如果我在控制台应用程序中运行集成测试,则不会阻止Outlook连接。如果我通过MSTest.exe手动运行测试代码,则Outlook连接不会被阻止。阻止它的唯一方法是,如果集成测试由Microsoft测试代理执行,这是集成测试所需的方法

有关问题的更多详细信息

Outlook正在作为Hyper-V实验室一部分并启用了网络隔离的计算机上运行。同一实验室中还有其他计算机的Outlook实例指向同一Exchange服务器。在一台计算机上执行测试会导致Outlook与同一实验室中的其他计算机之间的连接出现问题,其中Outlook实例指向同一Exchange服务器。 我有一个启用了网络隔离的小型Hyper-V实验室,它与上面提到的实验室非常相似。主要区别在于它只有一台安装了Outlook的机器。此Outlook可以在通过Microsoft测试管理器执行上述测试时连接到Exchange。很明显,这是一个环境问题,因为它在一个实验室工作,而不是在另一个实验室。两个实验室都安装了相同的Exchange server,并且实验室内的所有计算机上都安装了相同的Microsoft测试代理。 我已经排除了Outlook版本的问题,因为较大的实验室包含的Outlook版本与较小实验室中的Outlook版本相同

在测试运行期间

请注意,Outlook处于断开连接状态。

试运行后。

请注意,Outlook未连接到Exchange。

环境信息

Outlook 2010版本:(14.0.7113.5000)SP2(14.0.1740.5002)64位或32位 Outlook 2013版本:(15.0.4667.1000)MSO(15.0.4675.1002)64位或32位 Windows 7版本:6.1(内部版本7601:Service Pack 1) Exchange 2013版本:15.0‎(构建847.32)‎ Windows Server 2008 R2版本:6.1(内部版本7601:Service Pack 1) Microsoft测试管理器2013版本:12.0.31101.0 TFS 2013更新4版本:12.0.31101.0 Microsoft测试代理版本:12.0.31101.0更新4

故障排除步骤

  • 我启动了procmon并查找失败的TCP和UDP操作以指示网络故障,但没有找到
  • 我在Outlook中启用了“启用疑难解答日志记录”,但日志中没有明显的内容
  • 在测试运行时ping Exchange服务器仍然有效
  • 我使用MSTest.exe通过命令行运行了集成测试,outlook连接未被阻止 请求帮助

    你能帮我解决这个问题吗?我看到了两种识别问题的方法。 1.寻找两种环境之间的差异 2.获取可能暴露核心问题的日志或其他信息

    我愿意接受建议或想法,尤其是如果你有不同的解决问题的方法。请随时询问与问题相关的其他信息,如日志、PowerShell命令和注册表值。 如果您的时间不够,您是否可以至少发布一些与解决此问题相关的建议或想法? 谢谢
    基思

    安装fiddler后,我发现了问题所在。Microsoft测试代理正在激活一个代理服务器,该服务器正在阻止与exchange的连接。由于启用了IntelliTrace和测试影响的ASP.Net客户端代理,代理服务器已激活

    下面是一个链接到文章与完全相同的问题


    为什么您需要从外部软件自动运行Outlook?在开始集成测试之前是否运行Outlook?事实上,同一时间只能运行一个Outlook实例。因为我正在开发Outlook扩展,不运行Outlook就无法测试Outlook扩展。在集成测试运行之前,Outlook未运行。在测试期间,只有一个Outlook实例正在运行。