核心问题
我遇到的问题是,在通过Microsoft测试代理执行集成测试时,Outlook中与Exchange的连接被阻止(即Outlook处于断开连接状态)。该测试通过Microsoft Test Manager启动。 下面是我遇到问题的集成测试的代码,我尽可能简化了代码,以排除导致问题的集成测试中的代码。我还从运行中删除了所有其他测试。
[TestMethod]
public void LaunchOutlook()
{
Process.Start(new ProcessStartInfo(@"C:\Program Files (x86)\Microsoft Office\Office14\Outlook.exe"));
Thread.Sleep(120000);
}
我可以通过更改Thread.Sleep超时来更改Outlook被阻止的时间。测试运行时,我可以重新启动Outlook,Outlook仍然被阻止。在Outlook仍在运行时测试结束后,将恢复与Exchange的连接。对于Outlook 2010和Outlook 2013,会发生这种情况。如果我在控制台应用程序中运行集成测试,则不会阻止Outlook连接。如果我通过MSTest.exe手动运行测试代码,则不会阻止Outlook连接。它被阻止的唯一方法是由Microsoft Test Agent执行集成测试,这是集成测试所需的方法。
有关问题的更多详情
Outlook正在支持网络隔离的Hyper-V实验室中运行的计算机上运行。同一实验室中还有其他计算机具有针对同一Exchange服务器的Outlook实例。在一台计算机上执行测试会导致Outlook实例与Outlook实例指向同一Exchange服务器的同一实验室中的其他计算机出现连接问题。 我有一个小型Hyper-V实验室,启用了网络隔离,这与上面提到的实验非常相似。主要区别在于它只安装了一台安装了Outlook的计算机。此Outlook可以在通过Microsoft Test Manager执行上述测试时连接到Exchange。很明显,这是一个环境问题,因为它在一个实验室而不是另一个实验室中工作。两个实验室都安装了相同的Exchange服务器,并且在实验室中的所有计算机上安装了相同的Microsoft Test Agent。 我已经排除了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(Build 7601:Service Pack 1) Exchange 2013版本:15.0(Build 847.32) Windows Server 2008 R2版本:6.1(Build 7601:Service Pack 1) Microsoft Test Manager 2013版本:12.0.31101.0 TFS 2013 Update 4版本:12.0.31101.0 Microsoft Test Agent版本:12.0.31101.0 Update 4
疑难解答步骤
请求帮助
你能帮我解决一下这个问题吗?我看到了两种识别问题的方法。 1.寻找两种环境之间的差异 2.获取会暴露核心问题的日志或其他信息。
我愿意接受建议或想法,特别是如果你有不同的方法来解决问题。您可以随意询问与日志,PowerShell命令和注册表值等问题相关的其他信息。 如果您的时间不够,您是否至少可以发布一些与解决此问题相关的建议或想法? 谢谢, 基思
答案 0 :(得分:2)
安装fiddler后我发现了问题所在。 Microsoft测试代理正在激活代理服务器,该服务器阻止了交换连接。由于启用了IntelliTrace和测试影响的ASP.Net客户端代理,代理服务器已激活。
以下是指向完全相同问题的文章的链接。