2015-02-23 5 views
7

Mi scuso se si tratta di una domanda per principianti, appena iniziato con i test di automazione web.Individuazione di un pulsante per className con Goniometro

Voglio testare una pagina di schermata di accesso. Trovare il nome e la password dei campi di testo è stato facile (è stato appena utilizzato da.model), tuttavia ho riscontrato problemi nel trovare il pulsante di accesso con il mio script.

I Googled intorno e dovrebbe essere in grado di trovare un elemento da className utilizzando elemento (by.css (.className)), tuttavia questo non funziona e sto ottenendo sempre NoSuchElementError: No element found using locator: By.cssSelector(".btn btn-lg btn-primary btn-block").

Qualche idea su cosa sto facendo male?

si Grazie in anticipo,

LoginBtn HTML:

<button class="btn btn-lg btn-primary btn-block" type="submit" ng-disabled="loading">login</button> 

Il mio codice:

describe('Test login', function() { 
    var username = element(by.model('formData.email')); 
    var password = element(by.model('formData.password')); 
    var loginBtn = element(by.css('.btn btn-lg btn-primary btn-block')); 


    beforeEach(function() { 
    browser.get('some site'); //hidden on purpose 
    }); 

    it('should have a title', function() { 
     username.sendKeys(1); 
     password.sendKeys(2); 
     loginBtn.click(); 


    }); 


}); 

risposta

12

Se si sta verificando per più classi, separarli con puntini:

by.css('.btn.btn-lg.btn-primary.btn-block') 

Anche se, avrei trovato il pulsante da un testo - sembra più affidabile e leggibile:

by.xpath('//button[. = "login"]') 

Inoltre, pensare di assegnare il pulsante di un id (se questo è sotto il vostro controllo) attribuiscono facilitare il processo di test:

<button id="submitButton" class="btn btn-lg btn-primary btn-block" type="submit" ng-disabled="loading">login</button> 

Poi, sarebbe facile come:

by.id('submitButton') 
+0

Grazie. Entrambe le opzioni funzionano. :) – r3x

2

È anche possibile utilizzare una sola classe per trovare il localizzatore

by.css('.btn-primary')

dal nome della classe

by.className('btn-primary')

Problemi correlati