2009-10-04 26 views
21

Sto tentando di eseguire test di selenio. Eppure ogni volta che provo a eseguire un test che dovrebbe eseguire IE ottengo un errore sulla riga 863 di htmlutils.js Si dice che dovrei disabilitare il mio blocco popup. Il fatto è che sono passato a IE tools-> turn of popup block.Internet Explorer 8 a 64 bit e selenio Non funziona

Quindi è disabilitato e ottengo questo errore.

C'è qualcos'altro che devo disabilitare. In realtà non so nemmeno quale versione di Internet Explorer sia in esecuzione poiché utilizzo la versione 64bit di Windows 7 Pro. Quindi quando uso IE uso la versione a 64 bit ma sono a conoscenza che se il sito o qualcosa del genere non supporta 64 bit, va a 32 bit.

Quindi non sono sicuro di cosa ho bisogno per farlo funzionare.

Questa è la linea in cui lo fa

function openSeparateApplicationWindow(url, suppressMozillaWarning) { 
    // resize the Selenium window itself 
    window.resizeTo(1200, 500); 
    window.moveTo(window.screenX, 0); 

    var appWindow = window.open(url + '?start=true', 'selenium_main_app_window'); 
    if (appWindow == null) { 
     var errorMessage = "Couldn't open app window; is the pop-up blocker enabled?" 
     LOG.error(errorMessage); 
     throw new Error("Couldn't open app window; is the pop-up blocker enabled?"); 
    } 

in cui è memorizzato il messaggio log.error? Forse posso postare anche quello.

+0

Probabilmente otterrete risultati migliori ponendo questa domanda sui forum di supporto del selenio. –

+0

È possibile avviare il server di selenio con il flag -log, che consente di ottenere un output più dettagliato del problema: http://seleniumhq.org/docs/05_selenium_rc.html # selenium-server-logging – Santi

risposta

18

Ho avuto un problema simile su Vista e IE8 vorrei avere lo stesso messaggio di errore

Couldn't open app window; is the pop-up blocker enabled?" 

L'esecuzione del mio telecomando come Admin non era un'opzione per me, e anche una cattiva idea dal punto di vista della sicurezza. Quindi alla fine riesco a risolvere questo problema cambiando il browser da "* ietha" a "* iexploreproxy" grid_configuration.yml

hub: 
    port: 4444 
    ... 
    - name: "Internet Explorer 8 on Vista" 
     browser: "*iexploreproxy" 
    ... 

In alternativa, è possibile modificare stringa del browser dal codice:

ISelenium selenium = new DefaultSelenium("localhost", 4444, "*iexploreproxy", "http://www.google.com/"); 

funziona come un fascino. L'unico remake di domande è se questo influisce in qualche modo sul risultato dei test case. Finora no, ma aggiornerò questa risposta nel caso in cui ciò accadrebbe.

+0

Questo non funziona per me. Utilizzando iexploreproxy tenta di aprire il seguente URL dopo l'avvio: 'http: // localhost: 8003/selenium-server/core/RemoteRunner.html? SessionId = f44546a9dc584b69a1d20d539a8a037c e multiWindow = true e baseUrl = http% 3A% 2F% 2Flocalhost% 3A8003% 2Findex-test .php% 2F & debugMode = false' che non è valido perché non esiste l'URL "selenio-server" definito ... qualche idea? – papaiatis

0

Anch'io sto riscontrando questo problema su un Windows 7 a 64 bit, cercando di eseguire su di esso Selenium per testare e l'applicazione ASP .Net MVC, scritta in C#.

sto ancora cercando di capire la risposta per me, ma ho pensato di postare qui per dirvi di un piccolo progresso che ho fatto a ottenere qualcosa a lavorare, anche se in Firefox al posto di Internet Explorer.

Ecco la linea ho cambiato:

selenium = new DefaultSelenium("localhost", 4444, "*chrome C:/Program Files (x86)/Mozilla Firefox/firefox.exe", "http://www.bbc.co.uk/"); 

Vorrei idealmente come per far funzionare tutto questo in Internet Explorer 8, ma se per il momento, posso iniziare a ricevere i test di lavoro e poi passare ad usare di nuovo IE , quindi fantastico.

Spero che questo aiuti il ​​tuo problema con tutto questo.

+0

Hmm Non ho problemi a eseguire il selenio in firefox o in qualsiasi altro browser supportato (opera, safari, chrome). È solo IE 8 che non funzionerà. – chobo2

+0

Un suggerimento ho trovato che non ho ancora potuto provare. È quello di eseguire il server in modalità amministratore. Prova che potrebbe funzionare – chobo2

8

Ho riscontrato lo stesso problema. Ho eseguito il server Selenium RC come amministratore e tutto ha funzionato bene.

+1

L'esecuzione di Selenium RC come amministratore ha risolto il problema anche per me. –

+0

Come lo si esegue come amministratore? Sto usando 'java -jar selenium-server.jar'. Sono un amministratore quindi immagino che il selenio funzioni anche sul mio account. O dovrei eseguirlo in un altro modo? – papaiatis

0

Ho avuto lo stesso problema e ho trovato un'altra soluzione che funziona per me. Basta usare l'impostazione * iexploreproxy nel browserString.

ho usato:

selenium = new DefaultSelenium("localhost", 4444, "*iexploreproxy C:/Program Files/Internet Explorer/iexplorer.exe", "http://www.bbc.co.uk/"); 

spero che lavori per altri troppo :)

0

Ho avuto lo stesso problema su Windows 7 64 bit IE8. Il primo passo è stato disabilitare il blocco dei popup di IE. Poi, ho ricevuto un messaggio nella barra di stato che diceva che "I popup sono stati bloccati su questa pagina. Premere il tasto" Ctrl "per consentire i popup".

Si scopre che Google Toolbar forniva questa funzionalità. Disabilitarlo ha risolto il problema. Visualizza> Barre degli strumenti> Google per attivare.

John.

0

Se vi capita di fare questo da JavaScriptMVC, c'è un riferimento è necessario modificare in \ jmvc \ plugins \ test \ drivers \ selenium.js:

1) Variazione iexplore per iexploreproxy e si dovrebbe ottenere risultati migliori:

msie : (/iexploreproxy/i).test(browserStartCommand), 

2) a questo punto, vi accorgerete che è ancora ottenere l'errore popup, ma un'istanza separata di IE ha iniziato. Lasciare aperta la finestra di IE e riavviare i test, ma non il selenio.

3) Successivamente, le finestre dovrebbero apparire nel posto giusto, ma IE fornisce il fastidioso avviso di blocco del contenuto attivo. Consentire al contenuto di essere eseguito e riavviare i test, ma non Selenium stesso.

Questo è super goffo, ma almeno ti fa superare quella parte. Se trovo metodi più metodici per fare queste cose, aggiornerò se necessario.

-1

È possibile avviare il test disattivando la modalità Sicurezza di Internet. Non so il nome corretto per questo, ma in olandese è un modo beveiligde. Ho provato a modificare le impostazioni di sicurezza per pubblicizzare questa modalità di sicurezza, ma non sono riuscito a trovare l'impostazione corretta per questo. Deve quindi bloccare più di quanto tu possa impostare manualmente.

11

Mi sono imbattuto in questo su Windows 7 a 64 bit.

La mia soluzione era:

  1. Disabilita blocco popup. - Seleziona "Strumenti/Blocco popup/Disattiva blocco popup"

  2. Disattiva la modalità protetta IE. - Deselezionare "Strumenti/Opzioni Internet/Sicurezza/Abilita modalità protetta"

Sarebbe meglio solo disabilitare le modalità protette per noti host/indirizzi attendibili. Lo lascerò come esercizio per il lettore.

+0

Questo ha funzionato perfettamente per me e mi è sembrato una soluzione migliore rispetto all'esecuzione come amministratore o al passaggio a un proxy. – stimms

+0

Ha, ho appena trovato questa risposta di nuovo. Funziona ancora e sembra ancora la soluzione migliore. – stimms

+0

Questo non ha funzionato per me. Ho aggiunto l'host locale ai siti attendibili e disabilitato il blocco popup e la modalità protetta IE. E continua a fallire in quanto non è stato possibile aprire la finestra dell'app? Cos'altro devo fare? Funziona bene per un amministratore ma non possiamo eseguirlo in questo modo mentre lo eseguiamo tramite selunit nel nostro server di build. – Bernard

Problemi correlati