2015-02-09 1 views
8

Ho bisogno di selezionare un elemento, inviare valori ad esso, premere tab e quindi inviare nuovi valori.Come inviare i tasti della tastiera in goniometro come TAB

Posso selezionare l'elemento e inviare valori, ma non riesco a inviare il TAB dalla mia tastiera e quindi inviare un nuovo valore.

Ho usato prima Ptor ma poi è stato reso obsoleto, ora sto cercando di farlo usando browser.key ma non funziona per me.

Please Help!

+0

cosa vi aspettate quando si invia un 'TAB'? il comportamento normale sarebbe quello di focalizzare l'elemento con un indice tab più grande rispetto all'elemento attualmente focalizzato. o vuoi un 'TAB' come charackter come '\ t'? – nilsK

+0

ohh Voglio passare al campo successivo, anche io sto cercando di usare il tasto INVIO, ma non potrei farlo funzionare neanche. Non so esattamente cosa dovrei scrivere nel mio codice. Sto provando molte cose ma niente funziona come tale. – hny2015

risposta

13

ho scritto uno snippet e l'ho provato contro google.de (non .com! Forse dovresti aggiustarlo) e quando invii TAB l'elemento successivo ottiene il focus (in questo caso è il pulsante di ricerca).

il frammento:

describe('Test', function() { 
    it('should browse to google', function() { 
    browser.ignoreSynchronization = true; 
    browser.driver.get('https://www.google.de'); 
    expect(browser.getCurrentUrl()).toEqual('https://www.google.de/'); 
    }); 
    it('should unfocus the search field', function() { 
    var search = element(by.name('q')); 
    search.sendKeys(protractor.Key.TAB); 
    browser.sleep(3000); // 3s to take a look ;) 
    }); 
}); 
+0

ok, questo mi ha aiutato con la cosa di TAB, ora visto che non posso selezionare il mio altro elemento che ho menzionato in http://stackoverflow.com/questions/28363238/hard-time-having-finding-element-using-css-or -anche-altro-locator-in-goniometro e ora quando con questa scheda mi focalizzo su un nuovo campo, come posso semplicemente inviare valori ad esso. Ad esempio, i campi nome utente e password. Inserisco il nome utente e quindi utilizzo il TAB per concentrarmi sul campo della password ora voglio solo inserire la password, come dovrei farlo. Sono totalmente nuovo e posso fare domande stupide – hny2015

+0

si potrebbe semplicemente ottenere il campo di immissione della password e [controllare se è focalizzato] (http://stackoverflow.com/questions/22753496/how-do-i-assert-an-element- is-focused/22756276 # 22756276) suggerirei di leggere i [documenti degli oggetti della pagina] (https://github.com/angular/protractor/blob/master/docs/page-objects.md), aiuta a mantenere il codice pulito :) se hai bisogno di una risposta più specifica, ti preghiamo di aprire una nuova discussione per mantenere pulita anche la scheda;) – nilsK

+0

'browser.get' invece di' browser.driver.get' funziona anche con –