2015-01-27 15 views
5

Sto riscontrando un problema con il tentativo di fare clic su un elemento nascosto in un test del goniometro.Elemento nascosto clic sul goniometro "RangeError: Superata la dimensione massima dello stack di chiamate"

Di seguito è riportato il messaggio di errore che viene restituito, nonché lo snippet di codice che causa il messaggio di errore. Qualsiasi idea sul motivo del lancio di questo errore sarebbe molto apprezzata.

RangeError: Maximum call stack size exceeded 


browser.driver.executeScript("return arguments[0].click()", bank_page.boaClick); 

E "bank_page.boaClick()" viene fatto riferimento come una variabile in una pagina di oggetti con lo snippet vedere qui sotto:

boaClick: { get: function() { return element.all(by.model('bankConnection.bank')).get(0); }}, 

E sotto è il frammento di che sto tentando di fare riferimento con quella variabile:

<input type="radio" ng-model="bankConnection.bank" ng-value="bank" class="ng-valid ng-dirty" name="00D" value="[object Object]"> 

io fondamentalmente voglio solo essere in grado di fare clic su questo pulsante di scelta, ma il pulsante è un elemento nascosto, così dopo la ricerca on-line che prima ca "browser.driver.executeScript" Mi sembra la migliore opzione per ottenere questo, ma sto recuperando il RangeError da quando l'ho implementato.

+0

Solo un rapido controllo importante: quello goniometro, browser e la versione del browser stai usando? – alecxe

+0

Sto usando Chrome, versione browser: versione 40.0.2214.93 (64-bit) e versione con goniometro: Versione 1.6.1 – parchambeau

risposta

6

executeScript non accetta un oggetto di pagina. Devi passare un web_element raw. (Elemento cercatore di goniometro non funziona neanche)

Prova:

browser.driver.executeScript("return arguments[0].click()", bank_page.boaClick.get().getWebElement()); 
+0

Grazie per l'aiuto, sembra che sia così che "RangeError" non è più presente, ma Ho ancora un problema in cui in realtà non fa clic sull'elemento nascosto. Qualche idea? – parchambeau

+0

Verifica di selezionare l'elemento giusto. Does 'element.all (by.model ('bankConnection.bank')). Get (0) .getAttribute ('name')). ToEqual ('00D')' funziona? – hankduan

+0

Se aggiungo quanto segue: expect (element.all (by.model ('bankConnection.bank')). Get (0) .getAttribute ('name')). ToEqual ('00D'); Ricevo un errore che diceva che "Previsto '011' equivale a '00D'." quindi è sicuramente trovare qualcosa in quella posizione. – parchambeau

Problemi correlati