2014-05-13 2 views
13

Utilizzo Selenium WebDriver e Goniometro per eseguire test e2e sul mio progetto angolare. Diciamo che ho un elemento come:Goniometro - Come individuare l'elemento per attributi personalizzati (non HTML)?

<div my-directive my-unique-id="abc123"></div> 

Come si può individuare l'elemento di cui sopra. Ho provato con element(by.css('div[my-unique-id="abc123"]'));, ma dà un NoSuchElementError.

Se provo con l'HTML attributi come, per esempio, voglio trovare:

<a title="myTitle" href="">Click me</a> 

ero in grado di individuare l'elemento correttamente utilizzando element(by.css('a[title="myTitle"]'))

Come faccio a trovare l'elemento con attributi personalizzati , se non ha attributi HTML standard?

+0

La sintassi è corretta. La tua direttiva renderizza come div con un attributo my-unique-id = "abc123"? Controlla l'elemento che viene reso nel browser usando gli strumenti di sviluppo e testalo con $ ('your-css-selector'). Dovrebbe funzionare allo stesso modo nel goniometro. –

+0

D'accordo con @AndresD, la causa più probabile per questo è che la direttiva sostituisce l'elemento corrente su cui è definito con il proprio modello. Controlla l'elemento in devtools per assicurarti di avere il giusto selettore CSS. –

risposta

18

Provare a usare XPath:

element(by.xpath('//div[@my-unique-id="abc123"]')) 

o solo attributo

element(by.xpath('//div[@my-unique-id]')) 
+0

Davvero grazie per questo! –