我是Protractor的新手,我在Travis CI上运行my app的测试时遇到了麻烦。它给了我这个错误:
[22:54:04] E /量角器 - 无法在页面上找到Angular http://localhost:4200/about:重试寻找角度超过了 关于 ✗应该有正确的功能标题 - 失败:错误:在http://localhost:4200/about.If页面上找不到Angular,这不是Angular应用程序,你 可能需要关闭等待Angular。
我的test file包含
describe('About', () => {
beforeEach(async () => {
return await browser.get('/about');
});
it('should have correct feature heading', () => {
expect(element(by.css('rio-about-page h2')).getText()).toEqual('ABOUT US');
});
});
我的travis.yml文件包含此
script:
- ng test --watch false
- npm run prod:server &
- npm run prod:client &
- npm run e2e
和package.json包含
"prod:client": "ng serve --proxy-config proxy.conf.json",
"prod:server": "cross-env NODE_ENV=production PORT=3000 node server/node-server.js",
"e2e": "protractor",
如果我先启动app和api服务器,它会在本地正常运行。所以看起来测试只需要等到api和app服务器准备就绪,但我不确定如何实现这一点。
我尝试将框架设置为" jasmine2"来自this question,但它没有用。
我还根据this question检查了我的index.html
文件的编码,这很好。
我也在本地尝试将travis.yml中的e2e命令更改为
ng e2e --serve
这给了我以下警告。测试没有运行,并且该过程没有终止
webpack:编译时收到警告。 (节点:20625) UnhandledPromiseRejectionWarning:未处理的承诺拒绝 (rejection id:1):错误:找不到模块 '量角器/ node_modules / webdriver的经理/内置/ lib中/命令/更新'从 ' /用户/旦/工作/ bernierebuttals / GBA' (节点:20625)弃用警告: 未处理的承诺拒绝已被弃用。在未来,承诺 未处理的拒绝将终止Node.js进程 使用非零退出代码。