2014-12-23 12 views

risposta

2

Dopo aver chiamato driver.close() il valore del driver è impostata su

FirefoxDriver: firefox on WINDOWS(4b4ffb1e-7c02-4d9c-b37b-310c771492ac) 

ma se si chiama driver.quit() allora imposta il valore di conducente di

FirefoxDriver: firefox on WINDOWS (null) 

Quindi, se si sta controllando la finestra del browser dopo aver chiamato il numero driver.quit(), sarai in grado di conoscere l'implementazione sottostante.

WebDriver driver = new FirefoxDriver(); 
driver.get("http://www.google.com"); 
driver.quit();    
if(driver.toString().contains("null")) 
{ 

System.out.print("All Browser windows are closed "); 
} 
else 
{ 
//open a new Browser 
} 
+0

Questa è una pessima idea. Controllare il metodo 'toString' di qualsiasi cosa per determinare la logica dell'applicazione è sparare ai piedi. – gzm0

+0

@ gzm0 Qualche idea migliore? Non riesco a trovare alcuna API per controllare lo stato. – user1686407

3

Non esiste alcuna API per questo. Il migliore, si può fare è chiamare toString metodo, che restituisce una stringa come questa:

SafariDriver . . . null 

quindi è possibile chiamare contains metodo, che non controlla nella stringa di null c'è.

Si noti che questo funzionerà solo se è stato chiamato il quit.

Problemi correlati