【问题标题】:Watin integration test failing with System.UnauthorizedAccessException when executing javascript执行 javascript 时,Watin 集成测试因 System.UnauthorizedAccessException 而失败
【发布时间】:2011-06-24 19:44:19
【问题描述】:

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

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

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

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

我们完全不知所措:

  • 我们已尝试在测试失败之前还原所有代码更改,但它们的错误似乎不相关
  • 这些测试已经成功运行了几个月
  • 没有 Windows 更新应用到服务器
  • 网络权限未更改

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

【问题讨论】:

    标签: c# nunit integration-testing watin


    【解决方案1】:

    作为参考,我们通过将测试站点添加到 IE 的受信任站点列表来解决此问题,并且它已经解决了错误消息。类似问题在这里供参考:stackoverflow.com/questions/3986477/…

    【讨论】:

    【解决方案2】:


    我也遇到过很多次这个问题,但在我的情况下,它只发生在被操作的元素被禁用时。
    即使您在 DEBUG 模式下运行测试,您是否也面临此问题,或者仅当您将其作为套件的一部分与测试运行器一起运行时。
    您可能希望在附加了调试器的 Visual Studio 中运行测试,并检查“快速观察”窗口中正在操作的元素的属性。抛出异常的确切行将在您获得此异常的堆栈跟踪中可用。

    问候,
    Ashish Narmen

    【讨论】:

    • 这两种情况都会发生。在本地运行测试或在 DEBUG 模式下针对测试域运行测试时,以及将其作为打包测试套件的一部分运行时。将仔细检查该元素是否未被禁用,但乍一看似乎不是。
    猜你喜欢
    • 2020-03-18
    • 2011-10-22
    • 1970-01-01
    • 2016-07-21
    • 2020-07-05
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多