随机端口上的有角度的端到端测试

时间:2018-12-03 15:32:33

标签: protractor angular-cli e2e-testing angular-e2e

我们正在CI环境中运行角度e2e测试,在同一环境中,测试在同一构建从属上同时运行(例如,针对不同的分支)。

自从我们最近升级到角度7(从角度5)以来,量角器使用了默认端口(4200)。 由于端口4200正在使用,因此CI作业现在有时会失败。

我发现可以在端口0上运行的选项:

ng e2e --port 0 

这似乎使用了随机端口,但是测试失败,请参见下文。

我尝试了一个用角度cli创建的干净的新角度项目,没有任何改变。

ng e2e

工作正常

如何使e2e测试在没有端口号冲突的情况下运行?

Angular CLI:7.1.0 节点:v8.9.3 操作系统:Windows 10 Version 1607

预先感谢

Rob

此输出来自失败的运行: $ ng e2e --port 0
** Angular Live Development Server正在localhost:49152上侦听,请在http://localhost:49152/上打开浏览器**

日期:2018-12-03T15:16:48.890Z
哈希:97006afaee956149f40f
时间:7337ms
块{main} main.js,main.js.map(main)9.77 kB [initial] [rendered]
块{polyfills} polyfills.js,polyfills.js.map(polyfills)223 kB [初始] [呈现]
块{runtime} runtime.js,runtime.js.map(运行时)6.08 kB [entry] [rendered]
块{styles} styles.js,styles.js.map(样式)16.3 kB [initial] [rendered]
块{vendor} vendor.js,vendor.js.map(供应商)3.43 MB [初始] [呈现]
「wdm」:编译成功。
[16:16:49]我/更新-chromedriver:文件存在C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium \ chromedriver_2.44.zip
[16:16:49]我/更新-chromedriver:解压缩chromedriver_2.44.zip
[16:16:49]我/更新-chromedriver:最新的chromedriver_2.44.exe
[16:16:50] I /启动器-运行1个WebDriver实例
[16:16:50] I / direct-直接使用ChromeDriver ...

在ws://127.0.0.1:50805 / devtools / browser / 7ee01341-be32-4d52-ae53-0794c11c8864上监听的DevTools
茉莉花开始
[23540:12920:1203 / 161652.814:ERROR:tcp_socket_win.cc(861)]连接失败:10049
[23540:12920:1203 / 161652.814:ERROR:tcp_socket_win.cc(861)]连接失败:10049
[23540:12920:1203 / 161652.823:ERROR:tcp_socket_win.cc(861)]连接失败:10049
[23540:12920:1203 / 161652.823:ERROR:tcp_socket_win.cc(861)]连接失败:10049
[16:17:03] E /量角器-在页面http://localhost:0/上找不到Angular:重试以寻找超出角度

workspace-project应用程序
    ×应显示欢迎消息
      -失败:在页面http://localhost:0/上找不到Angular。如果这不是Angular应用程序,则可能需要关闭等待Angular。
                                请参阅
                                https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
                                请参阅
                                https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
          在executeAsyncScript_.then(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ protractor \ built \ browser.js:720:27)
          在ManagedPromise.invokeCallback_(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ selenium-webdriver \ lib \ promise.js:1376:14)
          在TaskQueue.execute_(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ selenium-webdriver \ lib \ promise.js:3084:14)
          在TaskQueue.executeNext_(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ selenium-webdriver \ lib \ promise.js:3067:27)
          在asyncRun(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ selenium-webdriver \ lib \ promise.js:2927:27)
          在C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ selenium-webdriver \ lib \ promise.js:668:7
          在
          在process._tickCallback(内部/进程/next_tick.js:188:7)
      来自:任务:在控制流中运行它(“应该显示欢迎消息”)
          在ControlFlow.emit(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ selenium-webdriver \ lib \ events.js:62:21)
          在ControlFlow.shutdown_(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ selenium-webdriver \ lib \ promise.js:2674:10)
          在shutdownTask_.MicroTask时(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ selenium-webdriver \ lib \ promise.js:2599:53)
      来自异步测试:
      错误
          在套房。 (C:\ Users \ rob.gansevles \ tmp \ noot \ e2e \ src \ app.e2e-spec.ts:10:3​​)
          在对象。 (C:\ Users \ rob.gansevles \ tmp \ noot \ e2e \ src \ app.e2e-spec.ts:3:1)
          在Module._compile(module.js:635:30)
          在Module.m._compile(C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ ts-node \ src \ index.ts:439:23)
          在Module._extensions..js(module.js:646:10)
          在Object.require.extensions。(匿名函数)[作为.ts](C:\ Users \ rob.gansevles \ tmp \ noot \ node_modules \ ts-node \ src \ index.ts:442:12)


  • 故障*

1)工作区项目应用程序应显示欢迎消息
  -失败:在页面http://localhost:0/上找不到Angular。如果这不是Angular应用程序,则可能需要关闭等待Angular。
                            请参阅
                            https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load

在10秒内执行1 of 1 spec(1 FAILED)。
[16:17:03] I /启动器-WebDriver的0个实例仍在运行
[16:17:03] I /启动器-Chrome#01在1个测试中失败
[16:17:03] I /启动器-总体:1个失败的规格
[16:17:03] E /启动程序-进程退出,错误代码为1
发生意外错误:未定义
错误命令失败,退出代码为1。
信息请访问https://yarnpkg.com/en/docs/cli/run以获取有关此命令的文档

0 个答案:

没有答案