Sto provando a eseguire i test e2e di Protractor all'interno di una VM Vagrant utilizzando Chrome senza testa. sono riuscito a farlo funzionare utilizzando Xvfb ma quando ho eseguito un test per compilare un modulo ho un errore: errore sconosciuto: è richiesto un display X per le conversioni keycode, considerare l'utilizzo di XvfbI tasti di invio del goniometro non funzionano: è richiesto un display x per le conversioni del codice tasto
Tutti i test funzionano bene ma non appena uso getKeys() (ad esempio element (by.model ('user.email')). sendKeys ('admin');) Ottengo questo errore, anche se sto già usando Xvfb.
sto correndo:
- AngularJS app campione generato con il Yeoman angolare fullstack generatore
- Nodejs versione 0.10.30, installato con NVM
- Vagrant 1.6.3
- VirtualBox 4.3 .14
- Host OS Ubuntu 14.04 a 32 bit
- sistema operativo ospite Ubuntu 14.04 a 32 bit
- Chrome 37.0.2062.94
- chromedriver 2.10.267517
Io uso il seguente script di shell per avviare Selenio e Xvfb:
#!/bin/sh
webdriver-manager start &
Xvfb :1 -ac -screen 0 1280x1024x8 &
export DISPLAY=:1
Ho anche aggiunto "export DISPLAY =: 1" a/opt/google/chrome/google-chrome. Ancora una volta, i test senza sendKeys() funzionano correttamente.
Quello che ho fatto finora:
- Io corro 32 bit di Ubuntu così ho scaricato chromedriver 2.10 32 bit, ma che non ha aiutato
- ho corse chromedriver con --verbose e controllato i registri, ma che mostra solo lo stesso errore
- i giocherellava con le impostazioni di dimensione dello schermo XVFB, non aiutano
- ho controllato un po 'di codice sorgente qui: https://github.com/bayandin/chromedriver/blob/master/keycode_text_conversion_x.cc e hanno trovato il messaggio di errore sulla linea 196. 0.123.Viene attivato quando il comando gfx :: GetXDisplay() (riga 193) non ottiene un oggetto di visualizzazione. Sospetto che potrebbe essere solo la variabile DISPLAY che esporto in/opt/google/chrome/google-chrome ma non sono sicuro e non ho idea di come risolverlo.
Mi piacerebbe sapere come posso ottenere sendfkeys() che funziona con Chrome senza testa all'interno di una VM Vagrant. Qualsiasi aiuto è molto apprezzato.
Grazie per la rapida risposta, Leo. L'ho provato ma non funziona ancora. Ho anche eseguito sul mio Mac al lavoro che è a 64 bit, ma si verifica lo stesso errore. –
Vuoi dire che esegui un sistema operativo per guest VM Ubuntu 14.04 a 64 bit? E l'uso di 'xvfb-run' dà lo stesso errore di prima per sendKeys? –
A casa eseguo Ubuntu 14.04 a 32 bit come sistema operativo host e guest, su host OSX di lavoro e guest Ubuntu 14.04 a 64 bit. Entrambi danno lo stesso identico errore. Potrebbe essere una dipendenza che devo installare? Ho controllato diversi blog e SO che mi danno le stesse informazioni per far funzionare tutto. Se hai bisogno di maggiori informazioni per favore fammi sapere e grazie ancora per il tuo impegno! –