我已經針對角度2應用程序編寫了一些量角器測試。它們都駐留在同一個存儲庫(應用程序和測試)中。我需要在本地主機上運行應用程序(npm start),然後才能運行這些測試。最好的方法來實現這個目標是什麼?在e-2-e測試之前運行角度應用程序
0
A
回答
2
有許多構建工具可以實現這一目標(例如,Grunt,Gulp等)。就個人而言,我喜歡使用npm scripts,因爲它們很簡單,並且已經是您項目的一部分。例如,在你的package.json
,您可以添加類似:
"scripts": {
"pretest": "npm install",
"test": "protractor conf.js"
},
,然後如果你通過npm test
運行測試,npm install
應該得到你的測試運行之前運行。
1
除了@Brine他的回答,這是我爲我正在開發的Angular 2項目所做的。我需要啓動服務器才能運行我的測試。
我創建了一個.js
文件,將
- 在端口5555
- 運行量角器測試,如果你需要傳遞參數,你可以在運行量角器之前啓動角的應用程序,但它沒有添加在這個腳本
- 我使用NPM腳本運行量角器,但您可以添加任何你想要的
const child = child_process.exec('npm run e2e.local');
部分
// The server.js file
const express = require('express');
const path = require('path');
const app = express();
const child_process = require('child_process');
const e2e = path.resolve(process.cwd(), './e2e-tests/config/');
const port = 5555;
const appFolder = path.resolve(process.cwd(), './dist/your-app-folder/');
/**
* Start a server
*/
class Protractor {
server(port, dir) {
app.set('port', port);
// Pass the folder the app should be run from
app.use(express.static(dir));
return new Promise((resolve) => {
let server = app.listen(port,() => {
resolve(server);
});
});
}
}
/**
* Start a server and run protractor.
*/
(() => {
process.env.LANG = 'en_US.UTF-8';
// I'm having some npm scripts that run the protractor config
const child = child_process.exec('npm run e2e.local');
new Protractor()
// Start the server on port 5555
.server(port, appFolder)
.then((server) => {
// Start protractor
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
// Stop the server if Protractor crashes or we're done testing
child.on('exit',() => {
server.close();
});
});
})();
我希望這可以幫助你。
相關問題
- 1. 角度e2e測試用於測試非角度應用
- 2. 使用量角器和角度運行E2E測試4
- 3. 擴展角度e2e測試
- 4. 在運行量角器e2e測試之前將數據插入數據庫
- 5. E2E測試遠程AngularJS應用程序
- 6. 角度量角器e2e測試
- 7. 量角器e2e足夠角度測試
- 8. 無法運行e2e與業力測試(對於角度)
- 9. 無法運行角度2應用程序的npm測試
- 10. Testacular不運行e2e測試
- 11. 如何點擊角度e2e測試
- 12. e2e使用量角器在角度2測試
- 13. 如何在執行量角器e2e測試之前等待下拉人口?
- 14. AngularJS:使用Karma運行e2e測試
- 15. 問題使用量角器運行E2E測試
- 16. Angular2 + karma +量角器 - 運行特定的e2e測試用例
- 17. 使用量角器與Angular2和Socket.io運行e2e測試
- 18. 模擬$ httpBackend角e2e測試
- 19. Angularjs量角器E2E測試
- 20. 柴承諾最終不會等待足夠長的角度測量e2e測試對角應用程序
- 21. 無法運行角度應用程序
- 22. 用於角度html5拖放的量角器E2E測試
- 23. 用於角度E2E測試的實體或量角器
- 24. 角度量角器 - 在E2E測試後讓瀏覽器打開
- 25. 在運行Java應用程序之前檢測JRE
- 26. TFS - 如何在測試開始前運行應用程序?
- 27. 確保快速應用程序在每個摩卡測試之前運行
- 28. 如何在運行集成測試之前啓動spring-boot應用程序
- 29. 在角度E2E測試中使用select(name).options
- 30. 如何在程序之前運行測試?
如果你啓動'npm test',它不會工作,因爲你的localhost應用程序沒有啓動,有沒有辦法啓動應用程序,然後運行量角器然後停止應用程序? –
你可以通過指定jar [在你的配置](https://github.com/angular/protractor/blob/master/lib/config.ts)來讓Protractor自動啓動/停止Selenium。 – Brine
噢......你說的是_app _...,當然,你可以添加一個npm腳本來啓動你的應用程序。閱讀[npm腳本文檔](https://docs.npmjs.com/misc/scripts),他們很容易遵循。 – Brine