Selenium webdriver 此驱动程序的量角器会话ID问题没有有效的会话ID,可能不再使用

Selenium webdriver 此驱动程序的量角器会话ID问题没有有效的会话ID,可能不再使用,selenium-webdriver,protractor,angularjs-e2e,e2e-testing,cucumberjs,Selenium Webdriver,Protractor,Angularjs E2e,E2e Testing,Cucumberjs,我不太会使用量角器,大约一个月前才开始使用。我用的是量角器2.5.1和黄瓜,而不是茉莉花;最近我的测试遇到了会话ID问题有时我的测试通过,有时会失败,并出现以下错误:(此驱动程序实例没有有效的会话ID(您是否调用了WebDriver.quit()?),可能不再使用。) 我在网上找到的唯一建议是,当您不使用callback()时,会发生这种情况。,但这似乎不是真的,因为我在cucumber测试中使用了回调,这并没有阻止它建议的另一个解决方案是为窗口大小设置一个最大宽度,这也不会减少它。 以下是我


我不太会使用量角器,大约一个月前才开始使用。我用的是量角器2.5.1和黄瓜,而不是茉莉花;最近我的测试遇到了会话ID问题

有时我的测试通过,有时会失败,并出现以下错误:
(此驱动程序实例没有有效的会话ID(您是否调用了WebDriver.quit()?),可能不再使用。)
我在网上找到的唯一建议是,当您不使用callback()时,
会发生这种情况。
,但这似乎不是真的,因为我在cucumber测试中使用了回调,这并没有阻止它
建议的另一个解决方案是为窗口大小设置一个最大宽度,这也不会减少它。


以下是我尝试过的:

  • 我知道如果再走一步,司机就不会退出 在最后一步之后,比如“暂停或停止”,所以我又增加了一步 只是让司机有时间完成最后一次操作 没用
  • 我使用这样的回调

  • 注意上面代码中的处理管道,如果回调由于任何原因抛出错误,它将被最后一个错误处理程序捕获

  • 因为您必须登录到我们的应用程序,所以我确保在每个功能文件(即测试)之前将您注销。这将破坏以前的cookie/会话,但所有这些尝试都未能成功解决此问题

  • 哦,我所有的测试都成功运行了,但是最后,失败了 无效的会话id错误。 错误:此驱动程序实例没有有效的会话ID(是否调用WebDriver.quit()?),可能不再使用。 在checkHasNotQuit(C:\


    有没有人遇到过这个问题?您对此有何解决办法?如果您能提供帮助,我们将不胜感激

    顺便说一句,这是我的配置文件:

    > exports.config = {   framework: 'cucumber',   capabilities: {
    >     'browserName': 'chrome',
    >     loggingPrefs: {
    >       driver: 'DEBUG',
    >       server: 'INFO',
    >       browser: 'ALL'
    >     }   },
    > 
    >   resultJsonOutputFile: conf.paths.e2e + '/out/test-report.json',  
    > specs: [
    >     conf.paths.e2e + '/**/*.feature'   ],
    > 
    > selenium server   baseUrl: 'http://localhost:3000/application/',
    > 
    >   onPrepare: function() {
    >     console.log('Getting:'+exports.config.baseUrl);
    >     browser.get(exports.config.baseUrl);
    >     browser.driver.manage().window().maximize();
    >     browser.manage().timeouts().setScriptTimeout(15000);
    > 
    >     var tmpDir = path.resolve(__dirname, './e2e/screenshots');
    >     console.log('Clearing tmp dir: ' + tmpDir);
    >     rimraf(tmpDir, function(error) {
    >       if (error) {
    >         console.error('Error clearing tmp dir: ', error)
    >       }
    >     });   },
    > 
    >   cucumberOpts: {
    >     require: conf.paths.e2e + '/steps/**/*Steps.js',
    >     tags: [ '~@wip', '~@manual' ],
    >     format: 'pretty'   } };
    

    如果您要升级到最新的cucumber和量角器,该怎么办?仍然可以复制?(请同时运行
    webdriver manager update
    )。谢谢,但webdriver manager udpate已经是最新的;量角器是2.5.1,现在是“\u id”:protractor@3.0.0“0.6.0的cucumber现在是“_id”:”cucumber@0.9.2",但现在浏览器甚至无法打开并导航到URL;我将运行npm update并查看发生了什么情况。我在更新cucumber时遇到了windows 10计算机上msbuild失败的问题,但这可能是以后的另一个问题。是的,更新npm不能做到这一点;我更新了量角器和cucumber;我还删除了我的节点\ U模块f旧版和已运行的
    npm安装
    ,带来了所有更新的模块,但仍然存在相同的问题。您还有其他想法吗?
    > exports.config = {   framework: 'cucumber',   capabilities: {
    >     'browserName': 'chrome',
    >     loggingPrefs: {
    >       driver: 'DEBUG',
    >       server: 'INFO',
    >       browser: 'ALL'
    >     }   },
    > 
    >   resultJsonOutputFile: conf.paths.e2e + '/out/test-report.json',  
    > specs: [
    >     conf.paths.e2e + '/**/*.feature'   ],
    > 
    > selenium server   baseUrl: 'http://localhost:3000/application/',
    > 
    >   onPrepare: function() {
    >     console.log('Getting:'+exports.config.baseUrl);
    >     browser.get(exports.config.baseUrl);
    >     browser.driver.manage().window().maximize();
    >     browser.manage().timeouts().setScriptTimeout(15000);
    > 
    >     var tmpDir = path.resolve(__dirname, './e2e/screenshots');
    >     console.log('Clearing tmp dir: ' + tmpDir);
    >     rimraf(tmpDir, function(error) {
    >       if (error) {
    >         console.error('Error clearing tmp dir: ', error)
    >       }
    >     });   },
    > 
    >   cucumberOpts: {
    >     require: conf.paths.e2e + '/steps/**/*Steps.js',
    >     tags: [ '~@wip', '~@manual' ],
    >     format: 'pretty'   } };