Javascript 为角型项目中的测试构建或管道。量角器问题
我正在开发一个移动应用程序。我正在使用离子框架和angularjs。因此,我正在使用web技术编写此应用程序。我的问题是关于考试。我的应用程序中有单元和端到端(e2e)测试。 查看my package.json文件中的“我的脚本”部分:Javascript 为角型项目中的测试构建或管道。量角器问题,javascript,angularjs,testing,protractor,Javascript,Angularjs,Testing,Protractor,我正在开发一个移动应用程序。我正在使用离子框架和angularjs。因此,我正在使用web技术编写此应用程序。我的问题是关于考试。我的应用程序中有单元和端到端(e2e)测试。 查看my package.json文件中的“我的脚本”部分: "scripts": { "test": "karma start test/karma.conf.js", "test-single-run": "karma start test/karma.conf.js --single-run" } 我能够在
"scripts": {
"test": "karma start test/karma.conf.js",
"test-single-run": "karma start test/karma.conf.js --single-run"
}
我能够在git控制台中运行执行命令的单元测试:
npm run test
我的e2e测试在两个git控制台中执行两个命令:
ionic serve (to run my app)
protractor test/protractor-conf.js (to run my e2e tests)
我这里有两个问题:
- 为了简化量角器命令,我无法将脚本命令添加到package.json中。就像我的因果报应命令进行单元测试一样。 我试过这个: “e2e”:“量角器测试/量角器配置js”
- 第二个问题:我想为我的所有测试创建一个构建(或管道)。我的意思是,在ruby中有一个像“rake”这样的命令。我可以通过它运行我的单元和e2e测试。为了节省开发过程中的时间,避免忘记运行e2e测试,这可能非常有用李>
webdriver-manager-update
的postinstall
脚本,这样我就永远不会忘记这样做。现在您已经将量角器作为本地依赖项,您应该能够执行以下操作:
"scripts": {
"postinstall": "webdriver-manager update",
"e2e" : "protractor test/protractor-conf.js"
},
现在,每次运行npm install
时,postinstall
脚本都会为您更新webdriver,您不必记得手动运行它
至于你的第二个问题,看看用吞咽或咕噜来做你要做的事情。它们都类似于rake。您可以设置一个任务,以便在每次检测到文件更改时运行测试。您的配置中是否有seleniumServerJar的自定义位置设置?如果没有,听起来您好像忘记运行
webdriver-manager-update
。虽然当您直接运行它们时它会工作,但在使用npm脚本时它不会工作,这看起来很奇怪。我确实运行了webdriver-manager更新,这就是为什么我的e2e测试使用gragrator命令运行的原因。奇怪。我基本上和你有一样的东西,对我来说很好<代码>“e2e:运行所有测试”:“量角器量角器测试/量角器.conf.js”。假定丢失的.jar的位置是什么?我不知道它在哪里寻找您发布的错误中的selenium jar,所以我在这里猜测。我想它可能是在您的项目repo中的“node_modules\webdriver manager\selenium”下查找的,当您从命令行运行测试时,它使用的是全局安装。您完全正确,我按照Gragotor网站上的说明全局安装了Gragotor和webdriver manager。如果我想从package.json中的脚本部分使用它们,我需要使用npm在本地安装它们。如果你知道怎么做,请更正答案。我将接受它。这还不足以解决此错误:找不到模块'D:\…\node\u modules\webdriver manager\bin\webdriver manager。你能给我看看你的package.json吗。我可能忘了安装其他东西。奇怪。应该足够了。我给你发了一封电子邮件,里面有一个对我有用的package.json
。