我有以下 package.json:
{
"name": "newcucumber",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "./node_modules/.bin/cucumber-js",
"firefox": "./node_modules/.bin/cucumber-js -- --profile.desktop.env.browser ff"
},
"author": "",
"license": "ISC",
"dependencies": {
"chromedriver": "^2.24.1",
"cucumber": "^1.3.0",
"firefox-profile": "^0.4.2",
"geckodriver": "^1.1.2",
"phantomjs-prebuilt": "^2.1.12",
"selenium-webdriver": "^3.0.0-beta-2"
}
}
我使用以下方式运行该程序:
npm test
我想为黄瓜设置一个环境变量,以便我可以从命令行运行:npm test firefox
or npm test phantomjs
.
它也可以作为 package.json“脚本”的一部分,如上所示,但我不确定我是否做对了。调用npm run-script firefox
如何实现它,以便在 js 代码(如 world.js 或 browser.js)中获取 env 变量?
现在我再次得到了我最初想要使用的答案:
这就是 package.json 的一部分(注意!!!引号的语法)的样子:
"scripts": {
"test": "cucumber-js",
"firefox": "cucumber-js --world-parameters '{\"browser\":\"firefox\"}'",
"chrome": "cucumber-js --world-parameters '{\"browser\":\"chrome\"}'",
"safari": "cucumber-js --world-parameters '{\"browser\":\"safari\"}'",
"phantomjs": "cucumber-js --world-parameters '{\"browser\":\"phantomjs\"}'"
}
JSON 对象被传递到 World。在 World.js 中,代码如下所示:
module.exports = function() {
this.World = function(input) {
console.log(input.browser); // Do whatever you want with the JSON (input) object
};
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)