【问题标题】:Can't start protractor with firefoxFirefox 无法启动量角器
【发布时间】:2019-12-18 20:01:17
【问题描述】:

当我启动量角器时,Firefox 会打开,但我的测试没有执行。过了一会儿,我得到了超时错误。你能帮我解决问题在哪里吗? (适用于 chrome)。

操作系统:Windows 8.1 x64

量角器--version 版本 4.0.2

火狐48.0版

量角器.config.js:

exports.config = {
    directConnect: true,
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: ['*.spec.js'],
    baseUrl: 'http://localhost:9876',
    capabilities: {
        'browserName': 'firefox'
    }
};

首先我启动 webdriver:

>webdriver-manager start

然后在其他 cmd 中,我运行量角器:

>protractor protractor.conf.js

输出:

X:\e2e>protractor protractor.conf.js
[15:38:25] I/direct - Using FirefoxDriver directly...
[15:38:25] I/launcher - Running 1 instances of WebDriver
[15:39:11] E/launcher - Timed out waiting for the WebDriver server at http://127
.0.0.1:55485/hub
[15:39:11] E/launcher - Error: Timed out waiting for the WebDriver server at htt
p://127.0.0.1:55485/hub
    at Error (native)
    at onError (C:\Users\<USER>\AppData\Roaming\npm\node_modules\protractor\node_
modules\selenium-webdriver\http\util.js:87:11)
    at ManagedPromise.invokeCallback_ (C:\Users\<USER>\AppData\Roaming\npm\node_m
odules\protractor\node_modules\selenium-webdriver\lib\promise.js:1379:14)
    at TaskQueue.execute_ (C:\Users\<USER>\AppData\Roaming\npm\node_modules\protr
actor\node_modules\selenium-webdriver\lib\promise.js:2913:14)
    at TaskQueue.executeNext_ (C:\Users\<USER>\AppData\Roaming\npm\node_modules\p
rotractor\node_modules\selenium-webdriver\lib\promise.js:2896:21)
    at C:\Users\<USER>\AppData\Roaming\npm\node_modules\protractor\node_modules\s
elenium-webdriver\lib\promise.js:2775:27
    at C:\Users\<USER>\AppData\Roaming\npm\node_modules\protractor\node_modules\s
elenium-webdriver\lib\promise.js:639:7
    at process._tickCallback (node.js:369:9)
From: Task: WebDriver.createSession()
    at Function.createSession (C:\Users\<USER>\AppData\Roaming\npm\node_modules\p
rotractor\node_modules\selenium-webdriver\lib\webdriver.js:329:24)
    at Driver (C:\Users\<USER>\AppData\Roaming\npm\node_modules\protractor\node_m
odules\selenium-webdriver\firefox\index.js:386:38)
    at Direct.getNewDriver (C:\Users\<USER>\AppData\Roaming\npm\node_modules\prot
ractor\built\driverProviders\direct.js:75:26)
    at Runner.createBrowser (C:\Users\<USER>\AppData\Roaming\npm\node_modules\pro
tractor\built\runner.js:187:43)
    at C:\Users\<USER>\AppData\Roaming\npm\node_modules\protractor\built\runner.j
s:261:30
    at _fulfilled (C:\Users\<USER>\AppData\Roaming\npm\node_modules\protractor\no
de_modules\q\q.js:834:54)
    at self.promiseDispatch.done (C:\Users\<USER>\AppData\Roaming\npm\node_module
s\protractor\node_modules\q\q.js:863:30)
    at Promise.promise.promiseDispatch (C:\Users\<USER>\AppData\Roaming\npm\node_
modules\protractor\node_modules\q\q.js:796:13)
    at C:\Users\<USER>\AppData\Roaming\npm\node_modules\protractor\node_modules\q
\q.js:556:49
    at runSingle (C:\Users\<USER>\AppData\Roaming\npm\node_modules\protractor\nod
e_modules\q\q.js:137:13)
[15:39:11] E/launcher - Process exited with error code 199

【问题讨论】:

  • 你能把与 browser.get() 相关的代码和一个空的浏览器打开吗?

标签: firefox webdriver protractor


【解决方案1】:

最新版本的 protractor 尚不支持 Firefox 48,请将您的 Firefox 降级到 47.0.1 并尝试它肯定可以工作!

【讨论】:

    【解决方案2】:

    安装最新版本的 Firefox 和量角器。 如果您在程序文件中安装了 Firefox,请以管理员模式打开命令行以避免潜在的访问错误。

    在您的 conf.js 中使用以下提到的功能

    exports.config = {
      framework: 'jasmine',
      directConnect: false, //Start protractor without start the selenium server using webdriver-manager start. default value is fales
      //This is  only for chrome and firefox and use drivers instead of selenium server
    
      capabilities: {
          browserName: 'firefox',
          'moz:firefoxOptions': {
                args: ['--verbose'],
                binary: 'C:/Program Files/Mozilla Firefox/firefox.exe'
           //Need to start cmd via admin mode to avoid permission error
            }
    },   
        //set to true So each spec will be executed in own browser instance. default value is false
        //restartBrowserBetweenTests: true,
         jasmineNodeOpts: {
        //Jasmine provides only one timeout option  timeout in milliseconds don't add ;
        defaultTimeoutInterval: 180000
         },
    
      seleniumAddress: 'http://localhost:4444/wd/hub',
      specs: ['src/com/sam/scriptjs/iframes.spec.js']
    
    }
    

    【讨论】:

      猜你喜欢
      • 2020-04-02
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多