2016-06-23 46 views
5

In base a Protractor Angular 2 Failed: unknown error: angular is not defined i selettori angolari by.model non sono supportati.Angolare non definito su Ionic 2 utilizzando il rapportatore 2

Sono anche andato a http://www.protractortest.org/#/ e ho notato che sembra che non sia stata apportata alcuna modifica per risolvere questo problema.

Come è possibile impostare un testo di input utilizzando il rapportatore e l'angolare 2?

EDIT

Posso selezionare il mio facendo questo:

let myelement: ElementFinder = element(by.css('.text-input')); 

Ma ho diversi ingressi sulla mia pagina html. Come posso avere il 4 ° input di ioni, ad esempio?

+0

Puoi mostrare come appare il tuo input in HTML? Grazie. – alecxe

+0

Angular-seed ha impostato il goniometro, forse aiuta https://github.com/mgechev/angular2-seed/blob/master/src/client/app/%2Bhome/home.component.e2e-spec.ts – AngJobs

risposta

3

Ma ho diversi ingressi sulla mia pagina html. Come posso avere il 4 ° input di ioni, ad esempio?

È possibile emettere element.all() e utilizzare .get(index) per accedere a un elemento in base all'indice:

let myelement: ElementFinder = element.all(by.css('.text-input')).get(3); 
myelement.sendKeys("text"); 

Nota che usiamo 3 poiché l'indicizzazione è 0-based.

Si può anche fare uso di un convenient shortcut per selettori CSS:

let myelement: ElementFinder = $$('.text-input').get(3); 
myelement.sendKeys("text"); 

Cordiali saluti, l'indicizzazione negativo è supportato anche nel caso in cui si desidera ottenere elementi dall'altra estremità:

+0

Il secondo una corsa perfettamente. Grazie! – Goldbones

1

Goniometro allows you to use the element.all function che restituisce una matrice di oggetti.

Quindi per la vostra particolare esempio si potrebbe fare qualcosa di simile messo all'interno del vostro banco di prova:

element.all(by.css('.text-input')).then(function(elements) { 
     elements[3].sendKeys('some text') 
    });