javascript - Protractor IE 11 错误 - 找不到元素

标签 javascript internet-explorer testing protractor e2e-testing

使用以下语法查找用户名输入文本框,

browser.findElement(By.id('username'));

在 Chrome 和 Firefox 中工作正常,但在 IE 11 中出现以下错误:

    [internet explorer #3]   Message:
    [internet explorer #3]     Failed: Finding elements with id ==usernamereturned an unexpected error (WARNING: The server did not provide any stacktrace information)
    [internet explorer #3]     Command duration or timeout: 970 milliseconds
    [internet explorer #3]     For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
    [internet explorer #3]     Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'
    [internet explorer #3]     System info: host: 'dev-web-01', ip: '10.126.1.32', os.name: 'Windows Server 2012 R2', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_45'
    [internet explorer #3]     Driver info: org.openqa.selenium.ie.InternetExplorerDriver
    [internet explorer #3]     Capabilities [{browserAttachTimeout=0, enablePersistentHover=true, ie.forceCreateProcessApi=false, pageLoadStrategy=normal, ie.usePerProcessProxy=false
    expectedAlertBehaviour=dismiss}]
    [internet explorer #3]     Session ID: d593cfc5-74a5-445a-b1b8-fcdf7c372786
    [internet explorer #3]     *** Element info: {Using=id, value=username}

我按照以下两个站点配置了 IE: seleniumQuery Run Protractor Against Internet Explorer VM

最佳答案

我知道这篇文章是 2 年前发布的,但我想发布这篇文章,以便它对有类似问题的人有用。我在云服务器上工作,使用2012窗口服务器、IE11、3.12 IEdriver、5.3 Protractor、8.0.1 Promise、.9.5 Cucumber。

脚本正在打开 IE,但无法识别任何对象,直到我进行以下更改。

  1. IE11 不能直接连接使用。端口 4444 对我不起作用。
  2. 更改以下设置: 2.1 启用保护模式 - 在 IE11 的所有区域中打开或关闭 2.2 区域 -> Internet -> 自定义 -> 脚本 -> 事件脚本 -> 启用
  3. Cucumber 框架的配置文件

    exports.config = {
        getPageTimeout: 60 * 1000,
        allScriptsTimeout: 100 * 60 * 1000,
        restartBrowserBetweenTests: false,
    
        capabilities: {
            browserName:'internet explorer',
            version: 'ANY',
    
            restartBrowserBetweenTests: true,
            shardTestFiles: false,
            maxInstances: 1,
            enableElementCacheCleanup: true,
            javascriptEnabled: true,
            ignoreProtectedModeSettings: true
        },
        framework: 'custom',
        frameworkPath: require.resolve('protractor-cucumber-framework'),
        ignoreUncaughtExceptions: true,
    
        specs: [
            '../SystemStatus/*.feature'
        ],
        cucumberOpts: {
            require: ['../SystemStatus/SystemStatus.steps.js'],
            format: 'json:../../report/SystemStatus'+ timeStamp + '/report.json',
            //format: ['pretty'],
            //tags: [],
            strict: true,
            dryRun: false,
            compiler: [],
            tags: '@Login'
    
        },
    
    
        plugins: [{
            package: require.resolve('protractor-multiple-cucumber-html-reporter-plugin'),
            options:{
                automaticallyGenerateReport: true,
                removeExistingJsonReportFile: true
            }
        }]
    
    };
    

关于javascript - Protractor IE 11 错误 - 找不到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174972/

相关文章:

javascript - 一键两用

javascript - 在 React 中单击两个元素之间切换 className

javascript如何将 "empty"插入数组?

javascript - 使用 javascript 读取文本框用户输入并插入超链接

css - Internet Explorer CSS 旋转摆动

没有sql连接的Python测试

java - 使用假服务器进行集成测试

html - 自定义选择框在 IE 中无法正常工作

Jquery 代码在 IE8 中不起作用。该怎么办?

performance - 如何在家做软件性能测试