2012-10-01 8 views
9

Come disabilitare il caricamento degli oggetti flash quando si utilizza Selenium Remote WebDriver. Sarà utile se ottengo anche una soluzione per il normale webdriver.Come disabilitare Flash nel webdriver remoto al selenio

Poiché nella maggior parte dei casi l'oggetto Flash viene caricato da un JavaScript Ho provato a disabilitare il javascript sul webdriver e sul webdriver remoto entrambi, ma non funziona.

Ho provato a disabilitare il JavaScript:

WebDriver driver = new FirefoxDriver(); 
((DesiredCapabilities) driver.getCapabilities()).setJavascriptEnabled(false); 

Ho anche provato:

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setJavascriptEnabled(false); 
WebDriver driver = new FireFoxDriver(caps); 

Per WebDriver Remote ho provato:

final DesiredCapabilities firefoxCapability = DesiredCapabilities.firefox(); 
firefoxCapability.setJavascriptEnabled(false); 
new RemoteWebDriver(new URL("http://" + windowsIP + ":4444/wd/hub"), firefoxCapability); 

Dopo l'esecuzione della dichiarazione di cui sopra il server remoto visualizza

ma ancora tutto il Javascript si sta eseguendo nelle pagine che il driver carica e anche il Flash sta caricando.

Please help me: 1. come è possibile interrompere il caricamento del flash. 2. Ne ho bisogno sul driver remoto perché ho bisogno di testare le pagine su IE, Firefox, Chrome. Quindi il caricamento del profilo di forefox non funzionerà

Grazie per l'aiuto.

+0

hai trovato una risposta? –

+0

Devi assolutamente accettare la risposta fornita da @TasawerKhan. – alecxe

risposta

4

Ho usato questo codice su menta Linux e funziona :

0

anche se è già risposto alla domanda, ma su diversi forum ... quindi mi consolidare per voi ...

non sono sicuro se gli oggetti flash sono caricati javascript .... ma se disabilitando JavaScript è problema quindi ...

Non disabilitare mai Javascript per il driver di Firefox, nel caso in cui se si desidera utilizzarlo disabilitato provare con HTMLUNITDRIVER che appositamente pensato per le pagine non javascript.

La ragione essendo parti importanti del driver firefox è implementata in javascript e la disabilitazione avrebbe serie preoccupazioni.

HtmlUnitDriver d'altra parte è più veloce e migliore modo per i test di automazione (splly per le pagine senza JS)

si prega di controllare questo gruppo di discussione https://groups.google.com/forum/?fromgroups=#!topic/webdriver/daLOzCiU_h4%5B1-25%5D

+0

Grazie per la risposta. – Panshul

+0

Grazie per la risposta.
1. Ci sono molte pagine che ho trovato che usano lo script java per caricare il filmato flash da un url, quindi per interrompere il caricamento del flash ho bisogno di disattivare lo script java.
2.con HTMLunit non riesco a testare la pagina su browser diversi (firefox, chrome, IE), per questo motivo sto usando driver web remoti. – Panshul

+0

Benvenuto :). HTMLUnitdriver stesso è un browser diverso come FF, IE e Chrome ma implementato in java. Questo ti darà un risultato ma non accurato. _Sapito che questa non è una soluzione migliore, ma per Firefox puoi creare manualmente il profilo con Flash disabilitato (quindi bloccando il flash) e quindi riutilizzare lo stesso profilo per più istanze di driver remoto come_ – Anuragh27crony

0

Ho avuto lo stesso problema e avevo bisogno che fosse risolto per Chrome. Ecco come ho funzionato:

ChromeOptions options = new ChromeOptions(); 
    options.addArguments("--disable-bundled-ppapi-flash"); 
    WebDriver webDriver = new org.openqa.selenium.chrome.ChromeDriver(options);