最近,在虚拟机上使用Selenium WebDriver运行Internet Explorer Automation时,我遇到了间歇性错误。测试正在通过Microsoft Test Manger在虚拟机上运行。我很难搞清楚发生了什么。
在发生此问题时尝试运行的测试记录以下内容: exception:OpenQA.Selenium.WebDriverException:对URL http://localhost:56645/session/2762cafb-d3c9-4d9a-a0a5-05463e69b7b7/moveto的远程WebDriver服务器的HTTP请求在60秒后超时。 ---> System.Net.WebException:操作已超时
当测试失败时,我会将Exception消息和堆栈跟踪写入文件。但在这种情况下,确实没有堆栈。期待更深层次的事情。
System.Net.WebException: The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
以下是发生故障时eventviewer的详细信息:
Log Name: Application
Source: Application Error
Date: 8/28/2015 9:02:09 AM
Event ID: 1000
Task Category: Application Crashing Events
Level: Error
Keywords: Classic
User: N/A
Computer: xxxxxxxxxxxxxxxxxx
Description:
Faulting application name: IEDriverServer.exe, version: 2.44.0.0, time stamp: 0x5449666f
Faulting module name: IED4C2A.tmp, version: 0.0.0.0, time stamp: 0x5449666b
Exception code: 0xc0000005
Fault offset: 0x000a41e6
Faulting process id: 0xf2c
Faulting application start time: 0x01d0e191ad6d3d19
Faulting application path: C:\AutomationDrivers\IEDriverServer.exe
Faulting module path: C:\Users\SACCTO~Z\AppData\Local\Temp\IED4C2A.tmp
Report Id: fd4f5070-4d84-11e5-891b-00155d6e673e
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Application Error" />
<EventID Qualifiers="0">1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2015-08-28T13:02:09.000000000Z" />
<EventRecordID>14302</EventRecordID>
<Channel>Application</Channel>
<Computer>xxxxxxxxxxxxxxxxxx</Computer>
<Security />
</System>
<EventData>
<Data>IEDriverServer.exe</Data>
<Data>2.44.0.0</Data>
<Data>5449666f</Data>
<Data>IED4C2A.tmp</Data>
<Data>0.0.0.0</Data>
<Data>5449666b</Data>
<Data>c0000005</Data>
<Data>000a41e6</Data>
<Data>f2c</Data>
<Data>01d0e191ad6d3d19</Data>
<Data>C:\AutomationDrivers\IEDriverServer.exe</Data>
<Data>C:\Users\TASKBO~1\AppData\Local\Temp\IED4C2A.tmp</Data>
<Data>fd4f5070-4d84-11e5-891b-00155d6e673e</Data>
</EventData>
</Event>
我可以使用Visual Studio内置的测试运行器在本地运行相同的测试,没有任何问题。 VM拥有大约1.5千兆的内存,并且在测试运行时从不占用超过一半的内存。 CPU保持相当低的水平。
对于需要关注的事情,我的想法已经不合时宜了。任何想法/想法都赞赏。谢谢。
答案 0 :(得分:0)
我写了两篇关于如何在显示Windows错误报告对话框时创建良好的崩溃转储的文章。
第一篇文章基本上描述了how to attach a debugger:
.dump /ma seleniumcrash.dmp
如果你不太熟悉使用调试器,请尝试第二篇文章,activates LocalDumps just in time,即:
DumpType
设置为2并且文件夹是可写的(检查NTFS权限)。一旦获得了良好的崩溃转储,就可以从中获取更多信息,例如调用堆栈和.NET调用堆栈。
事件查看器异常代码为0xc0000005
,这也是一种访问冲突。 .NET中的NullReferenceException
。