量角器IE 11错误 - 无法找到元素

时间:2015-07-02 03:08:04

标签: 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

1 个答案:

答案 0 :(得分:1)

我理解这篇文章是2年前的,但是想发布这个帖子,以便它对有类似问题的人有用。我在2012年窗口服务器,IE11,3.12 IEdriver,5.3量角器,8.0.1承诺,.9.5黄瓜的云服务器上工作。

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

  1. IE11不能与直接连接一起使用。 4444号港口对我不起作用。
  2. 更改以下设置: 2.1启用保护模式 - 在IE11的所有区域中打开或关闭 2.2区域 - >英特网>自定义 - >脚本 - >活动脚本 - >启用
  3. 使用Cucumber Framework配置文件

    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
            }
        }]
    
    };