javascript - 错误 : Cannot define class using reflection

标签 javascript node.js reactjs selenium npm

我正在使用这个 webpage 制作 App

我尝试测试 e2e-tests,但它没有用。

此程序无法启动 selenium 服务器。我该如何解决这个问题?

npm-v :5.6.0

yarn -v :1.5.1

操作系统 -v :10.12.6

此外,我已经完成了selenium server 是否可以工作的测试。结果,selenium 服务器也没有工作。

我试过了 this way测试 Selenium 服务器

e2e-tests 错误如下

ERROR: Cannot define class using reflection chrome at new RuntimeError

(/Users/hajimenagasaka/my-react-todolist/node_modules/webdriverio/build/lib/utils/ErrorHandler.js:144:12) at Request._callback

(/Users/hajimenagasaka/my-react-todolist/node_modules/webdriverio/build/lib/utils/RequestHandler.js:316:39) at Request.self.callback

(/Users/hajimenagasaka/my-react-todolist/node_modules/webdriverio/node_modules/request/request.js:186:22) at emitTwo (events.js:126:13) at Request.emit (events.js:214:7) at Request.

(/Users/hajimenagasaka/my-react-todolist/node_modules/webdriverio/node_modules/request/request.js:1163:10) at emitOne (events.js:116:13) at Request.emit (events.js:211:7) at IncomingMessage.

(/Users/hajimenagasaka/my-react-todolist/node_modules/webdriverio/node_modules/request/request.js:1085:12) at Object.onceWrapper (events.js:313:30)

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! my-react-todolist@0.1.0 e2e-tests: wdio

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the my-react-todolist@0.1.0 e2e-tests script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

selenium 测试结果

Selenium 2.0/webdriver protocol bindings implementation with helper commands in nodejs.

For a complete list of commands, visit http://webdriver.io/docs.html.

======================================================================

[17:03:28]:ERROR Couldn't find a running selenium server instance on [object Object]/Users/hajimenagasaka/node_modules/chainit/index.js:140

throw err;
^

Error: [init()] <= Couldn't connect to selenium server at makeError (/Users/hajimenagasaka/node_modules/webdriverjs/lib/utils/makeError.js:9:17)

at RequestHandler.<anonymous> (/Users/hajimenagasaka/node_modules/webdriverjs/lib/utils/RequestHandler.js:177:25)

at self.callback (/Users/hajimenagasaka/node_modules/request/request.js:122:22) at emitOne (events.js:116:13)

at Request.emit (events.js:211:7)

at ClientRequest.self.clientErrorHandler (/Users/hajimenagasaka/node_modules/request/request.js:231:10)

at emitOne (events.js:116:13)

at ClientRequest.emit (events.js:211:7)

at Socket.socketErrorListener (_http_client.js:387:9)

package.json

{   "name": "my-react-todolist",   "version": "0.1.0",   "private": true,   "dependencies": {
    "chrome": "^0.1.0",
    "eslint-plugin-flowtype": "^2.46.1",
    "jest-cli": "^22.4.3",
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "selenium": "^2.20.0",
    "v": "^0.3.0",
    "webdriver.js": "^0.1.0",
    "webdriverjs": "^1.7.5"   },


    "devDependencies": {
        "chai": "^4.1.2",
        "enzyme": "^2.9.1",
        "eslint": "^3.19.0",
        "eslint-config-airbnb": "^15.0.1",
        "eslint-plugin-import": "^2.6.1",
        "eslint-plugin-jsx-a11y": "^5.1.0",
        "eslint-plugin-react": "^7.1.0",
        "react-scripts": "1.0.7",
        "react-test-renderer": "^15.6.1",
        "selenium-standalone": "^6.5.0",
        "wdio-dot-reporter": "0.0.8",
        "wdio-mocha-framework": "^0.5.13",
        "wdio-selenium-standalone-service": "0.0.9",
        "webdriverio": "^4.8.0"   },


    "scripts": {
        "selenium-setup": "selenium-standalone install",
        "selenium-start": "selenium-standalone start",
        "e2e-tests": "wdio",
        "e2e-tests-watch": "wdio wdio.conf.js --watch",
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "react-scripts test --env=jsdom",
        "eject": "react-scripts eject",
          "start":"selenium-standalone start",      "selenium": "selenium-standalone",   } }

e2etests/test.js

    const expect = require('chai').expect;

describe('TodoList App', () => {
  it('Should load with the right title', () => {
    browser.url('http://localhost:3000/');
    const actualTitle = browser.getTitle();

    expect(actualTitle).to.eql('Todo List');
  });
});

src/App.test.js

import React from 'react';
import { shallow } from 'enzyme';
import App from './App';

it('App renders without crashing', () => {
  const component = shallow(<App />);
  expect(component.exists()).toEqual(true);
});

最佳答案

我也有这个问题。我的解决方案是安装 JDK 8 ,因为 WDIO v4 显然与许多较新版本的 Java 不兼容。这是 wdio-selenium-standalone-service 的问题。

关于javascript - 错误 : Cannot define class using reflection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49706040/

相关文章:

javascript - 为什么我的 math.random 函数不起作用?

JavaScript 可见性 : Private and Privileged methods:

node.js - serverless-offline 可选路径参数

reactjs - 模拟 React useRef 或带有 enzyme 和 Jest 的功能组件内的函数?

javascript - HTML Canvas 在全屏尺寸下变得模糊

javascript - 将图像添加到 JavaScript 插件

node.js - 如何处理加载大集合的所有记录并监听 mongodb atlas 上的新数据?

node.js - 我想使用 Node js 将 postman 文件转换为 openAPI 3.0

reactjs - ThemeProvider/Typescript 错误 : Types of property 'children' are incompatible

reactjs - Material ui下一个文本字段下划线颜色