不能NPM当需要在test / index.js中需要selenium-webdriver的testing时启动

所以我正在尝试使用webpack和selenium-webdriver在JavaScript项目上进行testing。 但是,当我需要从test / index.js文件的testing文件,以便在浏览器中运行它们npm开始崩溃与一系列'无法解决模块'错误。 我所需testing的标题如下所示:

//=> test/meal_test.js const assert = require('chai').assert; const webdriver = require('selenium-webdriver'); const Meal = require("../lib/meal.js") const until = webdriver.until; const frontEndLocation = "http://localhost:8080" describe('test meal object', function() { it('should meal info and food info', function() { const meal = new Meal({ "id": 1, "name": "Breakfast", "foods": [ { "id": 4, "name": "Grapes", "calories": 180 }, { "id": 6, "name": "Yogurt", "calories": 550 }, { "id": 7, "name": "Macaroni and Cheese", "calories": 950 } ] }) assert.equal(meal.id, 1) assert.equal(meal.name, 'Breakfast') assert(Array.isArray(meal.foods)); assert.equal(meal.foods.length, 3) assert.equal(meal.total, 1680) }) }) 

我的testing/ index.js看起来像这样:

 //=> test/index.js require('./meal_test.js') 

我的webpack.config.js看起来像这样:

 const path = require('path'); module.exports = { entry: { main: "./lib/index.js", test: "mocha!./test/index.js" }, output: { path: __dirname, filename: "[name].bundle.js" }, module: { loaders: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }, { test: /\.css$/, loader: "style!css" }, { test: /\.scss$/, loaders: ["style-loader", "css-loader", "sass-loader"] }, ] }, resolve: { extensions: ['', '.js', '.json', '.css'] }, }; 

我的package.json看起来如下:

 { "name": "quantified-self-starter-kit", "version": "1.0.0", "description": "Starter kit for Turing School's BEE M4 Quantified Self Project", "main": "index.js", "scripts": { "start": "webpack-dev-server --hot --inline", "build": "webpack", "test": "mocha" }, "repository": { "type": "git", "url": "git+https://github.com/turingschool-examples/game-time-starter-kit-FEm1.git" }, "author": "Turing School of Software and Design - Nate Allen", "license": "MIT", "bugs": { "url": "https://github.com/turingschool-examples/quantified-self-starter-kit/issues" }, "homepage": "https://github.com/turingschool-examples/quantified-self-starter-kit#readme", "devDependencies": { "babel": "^6.5.2", "babel-core": "^6.18.2", "babel-loader": "^6.2.7", "chai": "^3.5.0", "chromedriver": "^2.27.2", "css-loader": "^0.26.0", "jquery": "^3.1.1", "mocha": "^3.1.2", "mocha-loader": "^1.0.0", "node-libs-browser": "^1.0.0", "node-sass": "^4.3.0", "sass-loader": "^4.1.1", "selenium-webdriver": "^3.0.1", "sinon": "^3.2.1", "style-loader": "^0.13.1", "webdriverjs": "^1.7.5", "webpack": "^1.14.0", "webpack-dev-server": "^1.16.0" }, "dependencies": { "fs": "0.0.1-security" } } 

和我运行npm start时我疯狂的错误看起来像这样:

 ERROR in ./~/selenium-webdriver/chrome.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver @ ./~/selenium-webdriver/chrome.js 131:11-24 ERROR in ./~/selenium-webdriver/io/index.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/io @ ./~/selenium-webdriver/io/index.js 20:9-22 ERROR in ./~/rimraf/rimraf.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/rimraf @ ./~/rimraf/rimraf.js 6:9-22 ERROR in ./~/glob/glob.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/glob @ ./~/glob/glob.js 43:9-22 ERROR in ./~/fs.realpath/index.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/fs.realpath @ ./~/fs.realpath/index.js 8:9-22 ERROR in ./~/fs.realpath/old.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/fs.realpath @ ./~/fs.realpath/old.js 24:9-22 ERROR in ./~/glob/sync.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/glob @ ./~/glob/sync.js 4:9-22 ERROR in ./~/tmp/lib/tmp.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/tmp/lib @ ./~/tmp/lib/tmp.js 13:11-24 ERROR in ./~/selenium-webdriver/net/portprober.js Module not found: Error: Cannot resolve module 'child_process' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/net @ ./~/selenium-webdriver/net/portprober.js 20:11-35 ERROR in ./~/selenium-webdriver/net/portprober.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/net @ ./~/selenium-webdriver/net/portprober.js 21:9-22 ERROR in ./~/selenium-webdriver/net/portprober.js Module not found: Error: Cannot resolve module 'net' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/net @ ./~/selenium-webdriver/net/portprober.js 22:10-24 ERROR in ./~/selenium-webdriver/remote/index.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/remote @ ./~/selenium-webdriver/remote/index.js 20:11-24 ERROR in ./~/selenium-webdriver/io/exec.js Module not found: Error: Cannot resolve module 'child_process' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/io @ ./~/selenium-webdriver/io/exec.js 20:21-45 ERROR in ./~/selenium-webdriver/edge.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver @ ./~/selenium-webdriver/edge.js 73:11-24 ERROR in ./~/selenium-webdriver/firefox/binary.js Module not found: Error: Cannot resolve module 'child_process' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/firefox @ ./~/selenium-webdriver/firefox/binary.js 25:14-38 ERROR in ./~/selenium-webdriver/firefox/binary.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/firefox @ ./~/selenium-webdriver/firefox/binary.js 26:9-22 ERROR in ./~/selenium-webdriver/lib/devmode.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/lib @ ./~/selenium-webdriver/lib/devmode.js 25:11-24 ERROR in ./~/selenium-webdriver/firefox/profile.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/firefox @ ./~/selenium-webdriver/firefox/profile.js 25:11-24 ERROR in ./~/selenium-webdriver/firefox/extension.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver/firefox @ ./~/selenium-webdriver/firefox/extension.js 22:11-24 ERROR in ./~/selenium-webdriver/ie.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver @ ./~/selenium-webdriver/ie.js 30:11-24 ERROR in ./~/selenium-webdriver/opera.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver @ ./~/selenium-webdriver/opera.js 75:11-24 ERROR in ./~/selenium-webdriver/phantomjs.js Module not found: Error: Cannot resolve module 'fs' in /Users/Home/turing/4module/quantified-self-client/node_modules/selenium-webdriver @ ./~/selenium-webdriver/phantomjs.js 47:11-24 

当我从index.js中删除require语句时,构build和testing运行正常,但是我无法访问我在localhost:3000 / test.html中的testing。

我也尝试设置"target": "node"npm install fs --save无济于事。

我已经试过逐个安装一些模块依赖,但是这也没有帮助。

它似乎直接关系到这一行: const webdriver = require('selenium-webdriver');

当该行被删除npm start工作正常。

我不确定这是否真的是一个问题,或者这只是一起使用这些工具时的预期行为。

有没有办法在我的index.js中需要我的端到端的集成testing,然后运行在我的test.html?

任何帮助,见解或build议将不胜感激!