2016-04-09 13 views
5

Sono nuovo di Goniometro (posso dire solo 1 giorno di vita) e ho provato a eseguire test end-to-end.Timeout in attesa che il rapportatore si sincronizzi con la pagina dopo 11 secondi

Tuttavia, ogni volta che eseguo conf.js, viene visualizzato con "Timeout in attesa che il goniometro si sincronizzi con la pagina dopo 11 secondi".

Prima di pubblicare questa domanda, hai provato tutte le opzioni fornite da altri rispondenti, ma non riesci ancora a risolvere il problema e quindi richiedi il tuo aiuto.

a sostenere, qui di seguito sono i dettagli dei miei configurazioni e spec js file:

Conf.js:

exports.config = { 
     directConnect: true, 
     capabilities: {'browserName': 'chrome'}, 
     framework: 'jasmine', 
     specs: ['example_spec.js'], 
    jasmineNodeOpts: { 
    defaultTimeoutInterval: 100000 
     } 
    }; 

example_spec.js:

describe('forfirm homepage', function() { 
     it('login window should open', function() { 
     browser.get('https://www.forfirm.com'); 
     element(by.model('forfirm.email')).sendKeys('[email protected]'); 
     element(by.model('form.password')).sendKeys('Password'); 
      }); 
     }); 

uscita ricevuto:

 Failures: 
     1) forfirm homepage login window should open 
     Message: 
     Failed: Timed out waiting for Protractor to synchronize with the page after 11 seconds. Please see https://github.com/angular/protractor/blob/master/docs/faq.md. The following tasks were pending: 
     - $timeout: function(){a.next(),h=f(j,5e3)} 
     Stack: 
     Error: Failed: Timed out waiting for Protractor to synchronize with the page after 11 seconds. Please see https://github.com/angular/protractor/blob/master/docs/faq.md. The following tasks were pending: 
     - $timeout: function(){a.next(),h=f(j,5e3)} 
    at /Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/jasminewd2/index.js:101:16 
    at Promise.invokeCallback_ (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1329:14) 
    at TaskQueue.execute_ (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2790:14) 
    at TaskQueue.executeNext_ (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2773:21) 

    1 spec, 1 failure 
    Finished in 22.022 seconds 
    [launcher] 0 instance(s) of WebDriver still running 
    [launcher] chrome #01 failed 1 test(s) 
    [launcher] overall: 1 failed spec(s) 
    [launcher] Process exited with error code 1 

Inoltre, durante l'esecuzione del goniometro conf.js, non riuscivo a vedere il goniometro che lanciava il browser Chrome.

+0

'browser.ignoreSynchronization = true;' nel onPrepare risolto il problema nel mio caso. – Shardul

risposta

4

Si dovrebbe dare uno sguardo su Timeouts e cercare di impostare tutti loro prima

allScriptsTimeout: 120000, 
getPageTimeout: 120000, 
jasmineNodeOpts: { 
    defaultTimeoutInterval: 120000 
}, 

Aggiornamento: io odio ignoreSynchronization, si dovrebbe leggere su di esso, come evitarlo nella documentazione ufficiale goniometro - provare questo :

conf.js

exports.config = { 
directConnect: true, 
capabilities: {'browserName': 'chrome'}, 
framework: 'jasmine', 
specs: ['example_spec.js'], 
allScriptsTimeout: 120000, 
getPageTimeout: 120000, 
jasmineNodeOpts: { 
    defaultTimeoutInterval: 120000 
}, 
onPrepare: function() { 
    browser.driver.manage().window().maximize(); 
}}; 

example_spec.js

describe('forfirm homepage', function() { 
it('login window should open', function() { 
    browser.ignoreSynchronization = true; 
    browser.get('https://www.forfirm.com'); 
    element(by.model('form.email')).sendKeys('[email protected]'); 
    element(by.model('form.password')).sendKeys('Password'); 
    browser.sleep(5000); 
});}); 
+0

ho aggiunto sopra suggerimenti ma ottenere errore come, ERRORE - non è riuscito il caricamento del file di configurazione conf.js /Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/FFAutomation/conf.js:17 defaultTimeoutInterval: 120000 ^^^ ^^^^^^^^^^^^^^^^^^^ SyntaxError: Identificatore imprevisto in exports.runInThisContext (vm.js: 53: 16) in Module._compile (module.js: 387: 25) in Object.Module._extensions..js (module.js: 422: 10) in Module.load (module.js: 357: 32) in Function.Module._load (modulo.js: 314: 12) su Module.require (module.js: 367: 17) –

+0

E se commento "defaultTimeoutInterval: 120000", viene visualizzato l'errore "Timeout di una specifica Jasmine. Reimpostazione del flusso di controllo di WebDriver." Errori: 1) Accesso Forfirm Funzionalità di login Messaggio: Errore: Timeout - La richiamata asincrona non è stata richiamata entro il timeout specificato da jasmine.DEFAULT_TIMEOUT_INTERVAL. Stack: Errore: Timeout - La richiamata asincrona non è stata richiamata entro il timeout specificato da jasmine.DEFAULT_TIMEOUT_INTERVAL. a Timer.listOnTimeout (timers.js: 92: 15) 1 specifica, 1 errore Terminato in 30.108 secondi –

+0

Ho provato tutto ma non funziona nulla. Considerando il messaggio di errore ho aggiunto "allScriptsTimeout: timeout_in_millis" al mio file cons.js come suggerito su https://github.com/angular/protractor/blob/master/docs/timeouts.md ma mi sta dando errore ERROR - caricamento non riuscito file di configurazione conf.js, suggerire qualche soluzione –

3

Credo che questo dovrebbe risolvere il problema, come da documentazione ufficiale Protractor a "https://github.com/angular/protractor/blob/master/docs/timeouts.md".

È interessante notare che nella nostra applicazione, vedo che questo richiede ancora 11 secondi di default anche se ho impostato il valore allScriptsTimeout su un valore di 120 secondi.

Ho provato a farlo anche in OnPrepare, nonostante ciò vedo lo stesso errore di timeout che indica la sincronizzazione del goniometro con la pagina per 11 secondi. Qualsiasi pensiero sarebbe molto apprezzato.

Di seguito è riportato un esempio del mio config (Node - 4.2.4, goniometro - 3.1.1)

exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['DemoTest.js'], 
    getPageTimeout: 120000, 
    allScriptsTimeout: 120000, 

    capabilities: { 
    browserName: 'chrome', 
    }, 

    onPrepare: function(){ 
     browser.ignoreSynchronization = true; 
     getPageTimeout: 120000; 
     allScriptsTimeout: 120000; 
     jasmine.DEFAULT_TIMEOUT_INTERVAL = 180000; 

    }, 
} 
Problemi correlati