如何解决错误错误:使用Cucumberjs时,错误:ECONNREFUSED connect ECONNREFUSED 127.0.0.1:50840?

问题描述

我已经安装了Cucumberjs,chromedriver和selenium-webdriver。 当我运行npm运行黄瓜时,我得到了错误

Steins-MacBook-Air:todoguiacceptacceptancetest steinkorsveien $ npm run 黄瓜

> todofrontenf@0.1.0 cucumber /Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest
> cucumber-js

P-----P----P----....(node:1152) UnhandledPromiseRejectionWarning: Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:50840
    at ClientRequest.<anonymous> (/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/http/index.js:262:15)
    at ClientRequest.emit (events.js:314:20)
    at Socket.socketErrorListener (_http_client.js:469:9)
    at Socket.emit (events.js:314:20)
    at emitErrorNT (internal/streams/destroy.js:100:8)
    at emitErrorCloseNT (internal/streams/destroy.js:68:3)
    at processticksAndRejections (internal/process/task_queues.js:80:21)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:1152) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async

没有捕获块的功能,或者拒绝了原本是 未使用.catch()处理。终止未处理的节点进程 承诺拒绝,请使用CLI标志--unhandled-rejections=strict (请参见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝ID:3) (节点:1152)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。将来,承诺拒绝 未处理将以非零退出终止Node.js进程 码。 F ----。(节点:1152)UnhandledPromiseRejectionWarning:NoSuchElementError:没有这样的元素:无法找到元素: {“ method”:“ css选择器”,“ selector”:“ * [id =” loginLink“]”} (会议信息:无头铬= 84.0.4147.125) 在Object.throwDecodedError(/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/error.js:550:15) 在parseHttpResponse(/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/http.js:565:13) 在Executor.execute(/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/http.js:491:26) 在processticksAndRejections(内部/流程/task_queues.js:93:5) 在thenableWebDriverProxy.execute(/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/webdriver.js:700:17) 在toWireValue(/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/webdriver.js:139:15) 在/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/webdriver.js:190:16中 在forEachKey(/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/webdriver.js:184:9) 在convertKeys(/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/webdriver.js:189:3) 在thenableWebDriverProxy.execute(/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/lib/webdriver.js:698:22) (节点:1152)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。该错误是由抛出异步内部引起的 没有捕获块或拒绝承诺 未使用.catch()处理。终止未处理的节点进程 承诺拒绝,请使用CLI标志--unhandled-rejections=strict (请参见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝ID:4) F-F--P ----

Failures:

1) Scenario: Login failure # src/features/Login.feature:8
   ✖ Given I am currently loged out # src/features/steps/login.steps.js:6
       Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:50840
           at ClientRequest.<anonymous> (/Users/steinkorsveien/Development/todo/todoguiacceptacceptancetest/node_modules/selenium-webdriver/http/index.js:262:15)
           at ClientRequest.emit (events.js:314:20)
           at Socket.socketErrorListener (_http_client.js:469:9)
           at Socket.emit (events.js:314:20)
           at emitErrorNT (internal/streams/destroy.js:100:8)
           at emitErrorCloseNT (internal/streams/destroy.js:68:3)
           at processticksAndRejections (internal/process/task_queues.js:80:21

我的package.json看起来像这样

{ 

  "name": "todofrontenf","version": "0.1.0","private": true,"dependencies": {
        "@babel/core": "^7.10.5","@babel/plugin-transform-runtime": "^7.11.0","@babel/preset-env": "^7.10.4","@babel/preset-react": "^7.10.4","@babel/register": "^7.10.5","babel-jest": "^26.2.1","cucumber": "^6.0.5","dotenv": "^8.2.0","expect": "^26.4.0","jest": "^26.2.1","react": "^16.13.1","react-dom": "^16.13.1","react-test-renderer": "^16.13.1","selenium-webdriver": "^4.0.0-alpha.7","winston": "^3.3.3","winston-elasticsearch": "^0.7.12"
      },"scripts": {
        "cucumber": "./node_modules/.bin/cucumber-js"
      },"eslintConfig": {
        "extends": "react-app"
      },"browserslist": {
        "production": [
          ">0.2%","not dead","not op_mini all"
        ],"development": [
          "last 1 chrome version","last 1 firefox version","last 1 safari version"
        ]
      },"devDependencies": {
        "@babel/plugin-proposal-class-properties": "^7.10.4","@reportportal/agent-js-jest": "^5.0.1","jest-sonar-reporter": "^2.0.0"
      }
    }

“我的世界”文件看起来像这样

import { setWorldConstructor,setDefaultTimeout } from 'cucumber'
import chrome from 'selenium-webdriver/chrome'
import  {Builder} from 'selenium-webdriver'
 
export function  CustomerWorld({attach,parameters}) {
      this.attach = attach
      this.parameters = parameters
       this.driver =  new Builder()
      .forbrowser('chrome')
      .setChromeOptions(new chrome.Options().headless())
      .build()
      setDefaultTimeout(30000 * 1000);
    }
    
setWorldConstructor(CustomerWorld);

测试看起来像

import {Given,When,Then } from 'cucumber'
import {By} from 'selenium-webdriver'
import expect from 'expect'

        let driver
         Given('I am currently loged out',async function () { 
            driver =  this.driver
            await driver.get('http://localhost:3000');
            const loginLink = await driver.findElement(By.id('loginLink'))
            expect(loginLink)
            loginLink.click()
            
         });

如何解决错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...