2015-09-30 11 views
5

per scopi di sviluppo e di debug che sarebbe davvero bello sapere che cosa è l'intera catena di CSS che sto chiedendo a metodi come:Scopri goniometro catena elemento CSS

divElm.element(by.css("article")).element(by.css("tbody > tr")).then(function(elm) { 
    // is there a way to know here what is the "CSS chain" of 'elm'? 
}); 

Se il debug elm vedo un locator immobili con:

locator_: { using: 'css selector', value: 'tbody > tr' }, 

Ma questo è solo il localizzatore dell'ultimo elemento della catena.

Sarebbe davvero utile avere tutto, come: divElm, article, tbody > tr in questo modo sarei in grado di eseguire il debug manualmente sulla pagina per vedere se l'elemento esiste davvero o meno.

UPDATE: ciò che realmente serve è, quando un goniometro selettore aspettativa fallisce (ad esempio utilizzando il metodo isPresent()), l'errore che ottengo solo mostra l'ultimo selettore nella catena. Sarebbe davvero utile se fosse mostrata l'intera catena.

+1

Non credo sia possibile, perché ottenere l'elemento genitore può essere ottenuto anche attraverso altri modi. Anche il selenio non ha incluso tale metodo - [ecco un link di questo] (https://groups.google.com/forum/#!topic/webdriver/UDdU8FkQTSo). Comunque puoi usare xpath per arrivare all'elemento genitore. [Ecco come] (http://stackoverflow.com/a/18001659/4180674) –

+0

Vuoi i valori esatti che hai usato in Goniometro per raggiungere l'elemento o il percorso DOM completo con il documento HTML? –

+0

Scusa, forse la domanda era confusa. Voglio i selettori/valori esatti che ho usato in Goniometro per raggiungere l'elemento, non il percorso DOM completo. – hhaamm

risposta

0

Se si vuole testare una catena CSS direttamente dal browser, il modo più semplice per farlo è fare ciò che viene suggerito in quel eccellente articolo: http://yizeng.me/2014/03/23/evaluate-and-validate-xpath-css-selectors-in-chrome-developer-tools/

In questo modo non c'è bisogno di eseguire il debug fa più , sai fin dall'inizio cosa combina il tuo selettore (e cosa non lo è)

+0

Ho familiarità con Google/FF Developer Tools. Il problema è che di solito devo ricostruire l'intera catena CSS perché ho una gerarchia di oggetti, ad es. Pagina> sezione> intestazione, quindi devo cercare il genitore ... ecc. Quindi quello che voglio veramente è che quando un'aspettativa fallisce a causa di un selettore, avere TUTTI i selettori del goniometro visualizzati nell'errore e non solo l'ultimo selettore nella catena. – hhaamm

+0

Un'altra opzione è aggiungere gli ID ai tuoi elementi. In questo modo non perderai altro tempo con i selettori complessi. – alcfeoh

0

Il problema è che, l'ultimo elemento si verifica l'errore, quindi se vuoi vedere il localizzatore completo, prova a selezionare l'elemento in un solo passaggio. Per esempio:

var el = element(by.css("article > tbody > tr"));

Tuttavia non è la migliore per voi, in modo da poter raggiungere il codice HTML interno con goniometro con getInnerHtml(), se si vuole identificare l'elemento.

È possibile ottenere i localizzatori uno per uno. Ad es .: divElm locator e divElm.element(by.css("article")) locator ecc.

Problemi correlati