【问题标题】:Windows 2012 R2 build server - IE 11 Selenium (UnexpectedJavaScriptError)Windows 2012 R2 构建服务器 - IE 11 Selenium (UnexpectedJavaScriptError)
【发布时间】:2019-04-24 17:37:15
【问题描述】:

我正在 C# 和 .NET 4.5 以及 SpecFlow + NUnit 中创建自动化测试

我的 ASP.NET MVC 应用程序具有 Kendo MVC 控件。在其中一个页面上,我们创建了一个 JavaScript 变量来指示所有客户端 Kendo 字段都已加载。

从我的一个 NUnit 测试中,C# 代码使用以下脚本读取客户端变量的值:

public override void EnsurePageReady()
    {
        do
        {
            try
            {
                var fieldsLoaded = WebDriver.ExecuteJavaScript<bool>("return kendoFieldsLoaded;");
                if (fieldsLoaded)
                {
                    break;
                }
            }
            catch (WebDriverException)
            {
            }
            Thread.Sleep(200);
        } while (true);
    }

ExecuteJavaScript() 在所有三种主要浏览器(Chrome、Firefox、IE11)中都可以在本地正常工作。但是,我在使用 Windows Server 2012 R2 和 IE11 在 Windows 10 上的构建服务器上得到 UnexpectedJavaScriptError)。

我已经尝试了 Internet 上的所有建议,包括更改注册表、启用保护模式等,但没有运气。

我碰壁了,如果我能得到解决此问题的任何帮助或指示,我将不胜感激。

谢谢!

【问题讨论】:

  • 更正:在本地 IE11 上工作,而不是在 Win 2012 R2 的 Build 服务器上工作
  • 我知道这很模糊,但它似乎是目标机器上的安全设置。您的增强安全设置是什么?
  • 您是否仍然收到return true; 而不是return kendoFieldsLoaded; 的错误?
  • 嗨萌 - 那个设置在哪里?
  • 嗨 Florent - 是的,结果相同。关于 Windows 2012 R2 + IE11,在 Windows 10 + IE11 上运行良好

标签: selenium internet-explorer-11 windows-server-2012-r2


【解决方案1】:

您需要在 Windows 2012 R2 上禁用增强的安全设置, 这是有关如何执行此操作的链接:

https://blog.blksthl.com/2012/11/28/how-to-disable-ie-enhanced-security-in-windows-server-2012/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    相关资源
    最近更新 更多