执行javascript时,Watin集成测试因System.UnauthorizedAccessException而失败

时间:2011-06-24 19:44:20

标签: c# nunit integration-testing watin

我们的团队早上开始工作,我们发现所有Watin(2.1.0)测试都在我们的集成服务器上失败,但有以下异常。测试也不再适用于本地(IE8或IE9)

WatiN.Core.Exceptions.RunScriptException : RunScript failed
  ----> System.UnauthorizedAccessException : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

请注意,在触发列表框jquery change事件时会出现此错误消息:

self.$country.bind('change', function (e) {
var country = $('option:selected', this);
if(country.val() == "??")
{                       
    self.$country.val('US');                    
}

我们完全失败了:

  • 我们已尝试在测试失败之前恢复所有代码更改,并且这些错误似乎没有相关性
  • 这些测试已成功运行了几个月
  • 没有对服务器应用Windows更新
  • 网络权限尚未更改

对此错误或建议的任何见解将不胜感激。

2 个答案:

答案 0 :(得分:6)

对于参考,我们通过将测试站点添加到IE的可信站点列表来修复此问题,并且它已解决了错误消息。类似问题可供参考:stackoverflow.com/questions/3986477/…

答案 1 :(得分:1)


我也经常遇到这个问题,但在我的情况下,它只发生在被操作的元素被禁用时。
即使您在DEBUG模式下运行测试,或者仅当您将其作为带有测试运行器的套件的一部分运行时,您是否面临此问题?
您可能希望在附带调试器的Visual Studio中运行测试,并检查“快速监视”窗口中正在操作的元素的属性。抛出异常的确切行将在Stack Trace中提供,您将获得此异常。

此致
Ashish Narmen