2016-03-30 18 views
10

Desidero chiedere come aprire la console degli sviluppatori di Chrome durante l'esecuzione dei test di selenio. Attualmente, quando i test sono in esecuzione e apro manualmente la console colpendo F12, i test smettono di rispondere immediatamente e falliscono dopo un po 'di tempo.Come aprire la console per gli sviluppatori di Chrome in Selenium WebDriver utilizzando JAVA

Qualcuno può dirmi come posso avviare i miei test con la console degli sviluppatori aperta, in modo da poter rilevare/osservare gli errori della console che si verificano durante l'esecuzione del test.

risposta

12

Non è possibile. Il driver Chrome utilizza il protocollo di debug remoto di Chrome per comunicare con il browser. Questo è lo stesso protocollo utilizzato anche dalla console di sviluppo. Sfortunatamente, Chrome è progettato in modo che solo un client possa essere collegato utilizzando il protocollo alla volta, quindi ciò significa sia gli strumenti di sviluppo, sia il driver, ma non entrambi contemporaneamente.

+0

Quindi, qual è il miglior (più vicino) lavoro intorno a questo? – Uziii

+0

Registrazione @Uziii !! nessun altro andare –

0

Hai provato a simulare gli eventi di stampa dei tasti per la scorciatoia di apertura degli strumenti di sviluppo in Chrome?

String openDevTools = Keys.chord(Keys.ALT, Keys.CONTROL, "i"); 
driver.findElement(By.ByTagName("body")).sendKeys(openDevTools); 

Questo non è ideale e in un regime di test rigorosi che si avrebbe bisogno di rilevamento della piattaforma per garantire la si coprono sia per Mac e Windows. Consiglierei assolutamente di evitarlo (anche se funziona), ma è possibile farlo come soluzione se proprio devi.

Ho la sensazione che potrebbe anche perdere il focus della finestra stessa se si esegue questa operazione. Se questo è il caso, avreste bisogno di qualcosa di simile a quanto segue: -

String parentHandle = driver.getWindowHandle(); // get the current window handle 
// do your dev tool stuff here 
driver.switchTo().window(parentHandle); // switch back to the original window 

Spero che questo aiuti.

Link utile se lo fa arrivare ovunque: How to handle the new window in Selenium WebDriver using Java?

Edit: Basta rileggere la questione e non credo che questo funzionerà comunque. I tuoi test unitari dovrebbero catturare gli errori nella logica del tuo codice. I test sul selenio devono solo testare i viaggi degli utenti e catturare gli errori quando il viaggio dell'utente viene interrotto. Non si dovrebbe mai testare la logica del codice/errore durante il test del selenio.

Problemi correlati