È perché lo schermo è bloccato o uno screensaver è in esecuzione.
Sarà necessario disattivare lo screensaver e configurare Windows in modo che non si blocchi mai quando non è in uso. Per disattivare il salvaschermo:
- Fare clic sul pulsante Start.
- Fare clic su Pannello di controllo.
- Nella casella di ricerca, digitare screen saver.
- Fare clic su Attiva o disattiva screen saver.
Quindi modificare le impostazioni dello screensaver. Assicurati di aver deselezionato "Alla ripresa, visualizza la schermata di accesso".
Mentre ci si trova nel pannello di controllo, probabilmente vale la pena controllare le opzioni di alimentazione e assicurarsi che la macchina non vada in standby o si spenga dopo un periodo di tempo prestabilito.
Si desidera inoltre utilizzare VNC o assistenza remota per accedere alla GUI. Se RDP in esso bloccherà lo schermo per l'utente locale che è attualmente connesso e di nuovo bloccherà lo schermo quando si disconnette.
Infine, non utilizzare il driver IE a 64 bit, si dovrebbe usare il 32 bit. Nessuno esegue la versione 64 bit di IE (anche se hanno una macchina con 64 bit).
****** Modifica L'aggiunta di un po 'più di informazioni da una fonte credibile e rispettabile ******
Qui di seguito è un link ad un post sul forum degli utenti di selenio in cui Jim Evans (lo sviluppatore che ha scritto i binari IEDriver) spiega questo:
http://selenium.10932.n7.nabble.com/IE-Screenshots-are-black-when-not-connected-via-Remote-Desktop-to-the-VM-hosting-an-IE-Node-td37004.html
questa citazione, in particolare, circa la presa le immagini di quando è stato scollegato da un'istanza RDP:
È una limitazione nota. Non c'è alcuna soluzione nota. Protesta con Microsoft. Sono quelli che rendono l'API PrintWindow (che è l'API corretta da utilizzare quando si acquisiscono schermate) si comportano in questo modo. Oppure, o se scopri un modo per farlo funzionare, sei il benvenuto a inviare una patch.
Egli spiega come il codice screenshot funziona in modo più dettagliato sul suo blog qui:
http://jimevansmusic.blogspot.co.uk/2014/09/screenshots-sendkeys-and-sixty-four.html
In particolare:
Il driver IE prende screenshot utilizzando la funzione API PrintWindow. PrintWindow può solo prendere uno screenshot della porzione visibile di qualsiasi finestra data , il che significa che per ottenere uno screenshot a pagina intera (come richiesto dall'API WebDriver), la finestra deve essere grande di dimensioni sufficiente per visualizzare il intera pagina senza barre di scorrimento. Tuttavia, Windows non consente di ridimensionare la finestra più grande della risoluzione dello schermo visibile di . Quando chiediamo a IE di ridimensionare se stesso, un messaggio WM_GETMINMAXINFO viene inviato su un evento di ridimensionamento in modo che l'IE possa calcolare la dimensione di una finestra. Intercettando quel messaggio con un hook e modificando i valori massimi, possiamo indurre IE a pensare che una finestra possa essere dimensionata su una dimensione maggiore della risoluzione dello schermo, altrimenti consentire.
Il desktop remoto non è bloccato nel mio caso – Qwerty