WebSocket закрывается до установления соединения при использовании Cypress и Google Oauth2 - PullRequest
0 голосов
/ 14 июня 2019

В настоящее время я оцениваю Cypress для моей компании для нашего нового продукта, который использует AngularJS и Typescript.Мы заинтересованы в Cypress из-за его простоты и возможностей консоли, а также других нативных функций.Однако у меня большая проблема.Мы используем Google Oauth2 для нашей аутентификации, и я пытаюсь использовать нашу учетную запись службы для аутентификации, так как мы не хотим спамить Google запросами на аутентификацию.

Я искал Stackoverflow, их собственную документацию, GitHub и несколько блогов, и я не нашел хорошего решения.Я не хочу использовать Auth0.

Cypress.Commands.add('login', () => {
require('../helpers/login.js')
})

beforeEach(() => {
cy.login()
})

describe('My First Test', function() {
  it('finds the content "Navigation Elements"', function() {
    cy.visit('http://www.fakedomain.com/')

    cy.contains('Home')
    cy.contains('Customer')
    cy.contains('Username')
    cy.contains('CompanyLogo.png')
  })
})

Журнал консоли выводит следующую информацию:

Service Token Set
core.js:16828 Angular is running in the development mode. Call 
enableProdMode() to enable the production mode.
object.service.ts:22 object service constructor
cypress_runner.js:172385 Event:        xhr
cypress_runner.js:172385 Method:       POST
cypress_runner.js:172385 URL:          http://www.ourfake.com/sockjs- 
node/758/xdbld5dn/xhr_streaming?t=1560535055113
cypress_runner.js:172385 Stubbed:      No
cypress_runner.js:172385 Request:      {body: null}body: null__proto__: 
Object


core.js:15723 ERROR TypeError: Cannot read property 'postMessage' of null
    at NU (VM845 cb=gapi.loaded_0:175)
    at Object._.BX (VM845 cb=gapi.loaded_0:175)
    at KJ (VM845 cb=gapi.loaded_0:176)
    at _.bY._.k.a7 (VM845 cb=gapi.loaded_0:194)
    at Object._.gr (VM845 cb=gapi.loaded_0:185)
    at _.bY._.k.H1 (VM845 cb=gapi.loaded_0:194)
    at _.bY.Bea (VM845 cb=gapi.loaded_0:202)
    at Object._.gr (VM845 cb=gapi.loaded_0:185)
    at mO (VM845 cb=gapi.loaded_0:209)
    at VM845 cb=gapi.loaded_0:249
defaultErrorLogger  @   core.js:15723
push../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError    @   core.js:15771
next    @   core.js:17770
schedulerFn @   core.js:13514
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub   @   Subscriber.js:194
push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next   @   Subscriber.js:132
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next  @                           Subscriber.js:76
push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next   @   Subscriber.js:53
push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @   Subject.js:47
push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit   @   core.js:13498
(anonymous) @   core.js:17320
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke    @       zone.js:391
push../node_modules/zone.js/dist/zone.js.Zone.run   @   zone.js:150
push../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular    @   core.js:17257
onHandleError   @   core.js:17320
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.handleError   @   zone.js:395
push../node_modules/zone.js/dist/zone.js.Zone.runTask   @   zone.js:198
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask    @       zone.js:498
ZoneTask.invoke @   zone.js:487
timer   @   zone.js:2281
invoke  @   cypress_runner.js:76996
timerOverride   @   cypress_runner.js:77090
setTimeout (async)      
callThrough @   cypress_runner.js:77044
(anonymous) @   cypress_runner.js:77093
scheduleTask    @   zone.js:2302
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask  @   zone.js:410
onScheduleTask  @   zone.js:301
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask  @   zone.js:404
push../node_modules/zone.js/dist/zone.js.Zone.scheduleTask  @   zone.js:238
push../node_modules/zone.js/dist/zone.js.Zone.scheduleMacroTask @   zone.js:261
scheduleMacroTaskWithCurrentZone    @   zone.js:1245
(anonymous) @   zone.js:2317
proto.<computed>    @   zone.js:1569
tp  @   cb=gapi.loaded_0:118
(anonymous) @   cb=gapi.loaded_0:130
Ap  @   cb=gapi.loaded_0:122
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke    @   zone.js:391
onInvoke    @   core.js:17298
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke    @   zone.js:390
push../node_modules/zone.js/dist/zone.js.Zone.run   @   zone.js:150
(anonymous) @   zone.js:889
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask    @   zone.js:423
onInvokeTask    @   core.js:17289
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask    @   zone.js:422
push../node_modules/zone.js/dist/zone.js.Zone.runTask   @   zone.js:195
drainMicroTaskQueue @   zone.js:601
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask    @   zone.js:502
ZoneTask.invoke @   zone.js:487
timer   @   zone.js:2281
invoke  @   cypress_runner.js:76996
timerOverride   @   cypress_runner.js:77090
setInterval (async)     
callThrough @   cypress_runner.js:77044
(anonymous) @   cypress_runner.js:77093
scheduleTask    @   zone.js:2302
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask  @   zone.js:410
onScheduleTask  @   zone.js:301
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask  @   zone.js:404
push../node_modules/zone.js/dist/zone.js.Zone.scheduleTask  @   zone.js:238
push../node_modules/zone.js/dist/zone.js.Zone.scheduleMacroTask @   zone.js:261
scheduleMacroTaskWithCurrentZone    @   zone.js:1245
(anonymous) @   zone.js:2317
proto.<computed>    @   zone.js:1569
(anonymous) @   login.service.ts:60
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke    @   zone.js:391
onInvoke    @   core.js:17298
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke    @   zone.js:390
push../node_modules/zone.js/dist/zone.js.Zone.run   @   zone.js:150
(anonymous) @   zone.js:889
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask    @   zone.js:423
onInvokeTask    @   core.js:17289
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask    @   zone.js:422
push../node_modules/zone.js/dist/zone.js.Zone.runTask   @   zone.js:195
drainMicroTaskQueue @   zone.js:601
push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask    @   zone.js:502
invokeTask  @   zone.js:1744
globalZoneAwareCallback

Я ожидаю, что вы попадете на домашнюю страницу, и это не работает.

...