C# Microsoft测试代理似乎正在阻止Outlook与exchange的连接
核心问题 我遇到的问题是,通过Microsoft测试代理执行集成测试时,从Outlook到Exchange的连接被阻止(即Outlook处于断开连接状态)。测试通过Microsoft测试管理器启动。 下面是我遇到问题的集成测试的代码,我尽可能简化了代码,以排除集成测试中导致问题的代码。我还取消了运行所有其他测试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
[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
故障排除步骤
基思安装fiddler后,我发现了问题所在。Microsoft测试代理正在激活一个代理服务器,该服务器正在阻止与exchange的连接。由于启用了IntelliTrace和测试影响的ASP.Net客户端代理,代理服务器已激活 下面是一个链接到文章与完全相同的问题
为什么您需要从外部软件自动运行Outlook?在开始集成测试之前是否运行Outlook?事实上,同一时间只能运行一个Outlook实例。因为我正在开发Outlook扩展,不运行Outlook就无法测试Outlook扩展。在集成测试运行之前,Outlook未运行。在测试期间,只有一个Outlook实例正在运行。