【问题标题】:Protractor failed to start test with firefox量角器无法使用 Firefox 开始测试
【发布时间】:2017-10-14 15:14:13
【问题描述】:

我无法在 firefox 56.0.1 版上使用量角器开始测试。 我的量角器版本是 5.1.2

exports.config = {
    allScriptsTimeout: 11000,
    specs: [
        './e2e/**/*.e2e-spec.ts'
    ],
    capabilities: {
        'browserName': 'firefox'
    },

    directConnect: true,
    baseUrl: 'http://localhost:4444/',
    framework: 'jasmine',
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000,
        print: function() {}
    },
};

这是错误:

[00:02:20] I/launcher - Running 1 instances of WebDriver
[00:02:20] I/direct - Using FirefoxDriver directly...
[00:02:27] E/launcher - Unable to parse new session response: {"value": {"sessionId":"e9d08604-1d7e-4870-85d7-4e09a2248ffa","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"56.0.1","moz:accessibilityChecks":false,"moz:headless":false,"moz:processID":5804,"moz:profile":"C:\\Users\\s\\AppData\\Local\\Temp\\rust_mozprofile.sWpsKwszgKSw","pageLoadStrategy":"normal","platformName":"windows_nt","platformVersion":"6.1","rotatable":false,"specificationLevel":0,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000}}}}
[00:02:27] E/launcher - WebDriverError: Unable to parse new session response: {"value": {"sessionId":"e9d08604-1d7e-4870-85d7-4e09a2248ffa","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"56.0.1","moz:accessibilityChecks":false,"moz:headless":false,"moz:processID":5804,"moz:profile":"C:\\Users\\s\\AppData\\Local\\Temp\\rust_mozprofile.sWpsKwszgKSw","pageLoadStrategy":"normal","platformName":"windows_nt","platformVersion":"6.1","rotatable":false,"specificationLevel":0,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000}}}}
    at WebDriverError (C:\Users\s\WebstormProjects\Co\node_modules\selenium-webdriver\lib\error.js:27:5)
    at doSend.then.response (C:\Users\s\WebstormProjects\Common_IDE\node_modules\selenium-webdriver\lib\http.js:445:19)
    at process._tickCallback (internal/process/next_tick.js:109:7)
From: Task: WebDriver.createSession()
    at Function.createSession (C:\Users\s\WebstormProjects\Co\node_modules\selenium-webdriver\lib\webdriver.js:777:24)
    at Function.createSession (C:\Users\s\WebstormProjects\Co\node_modules\selenium-webdriver\firefox\index.js:640:55)
    at Direct.getNewDriver (C:\Users\s\WebstormProjects\Co\node_modules\protractor\lib\driverProviders\direct.ts:112:25)
    at Runner.createBrowser (C:\Users\s\WebstormProjects\Co\node_modules\protractor\lib\runner.ts:225:39)
    at q.then.then (C:\Users\s\WebstormProjects\Co\node_modules\protractor\lib\runner.ts:391:27)
    at _fulfilled (C:\Users\s\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:834:54)
    at self.promiseDispatch.done (C:\Users\s\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:863:30)
    at Promise.promise.promiseDispatch (C:\Users\saeed\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:796:13)
    at C:\Users\s\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:556:49
    at runSingle (C:\Users\s\WebstormProjects\Co\node_modules\protractor\node_modules\q\q.js:137:13)
[00:02:27] E/launcher - Process exited with error code 199

你知道如何解决这个问题吗? (它可以正常使用 chrome,但使用 Firefox 显示空白页面)

【问题讨论】:

  • 您是否尝试过运行错误消息中所述的webdriver-manager 命令?
  • 是的,我已经运行了 webdriver-manager 更新,但仍然出现此错误:E/launcher - 无法解析新会话响应:{...} /WebDriverError:无法解析新会话响应:{ ...}

标签: angular firefox protractor e2e-testing jasmine2.0


【解决方案1】:

使用 geckodriver,您需要将牵线木偶添加到功能中:

capabilities: {
    'browserName': 'firefox',
    'marionnette': true
},

更新:Protractor 5.1.1 中引入了open issue #4253。解决方法是手动将directConnect替换为seleniumAddress,并按照bug中的说明手动启动webdriver-manager

解决方案是在使用 Firefox 进行测试时单独使用 selenium。 最新版selenium独立服务器兼容 使用 Protractor 的 selenium JS 绑定和 geckodriver。你可以 更新并启动独立服务器

webdriver-manager update 
webdriver-manager start 

并设置seleniumAddress: http://localhost:4444

【讨论】:

  • 很抱歉。 Protractor 5.1.1 中引入了一个我错误地认为已修复的错误。我已经用解决方法编辑了我的答案。
【解决方案2】:

如果您选择直接连接,则无需指定基本 url,也无需显式启动 webdriver 服务器

exports.config = {
    allScriptsTimeout: 11000,
    specs: [
        './e2e/**/*.e2e-spec.ts'
    ],
    capabilities: {
        'browserName': 'firefox'
    },

    directConnect: true,
    framework: 'jasmine',
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000,
        print: function() {}
    },
};

【讨论】:

    【解决方案3】:

    就我而言,使用“sudo”运行它不起作用。 我不得不更改文件权限,然后在没有 sudo 的情况下运行它。

    【讨论】:

      猜你喜欢
      • 2020-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      相关资源
      最近更新 更多