2016-01-29 10 views
5

Sto provando ad attirare il disabile su un pulsante dovrebbe essere "disabilitato" ma non sembra che stia ottenendo il valore. Nuovo per angolare e goniometro!utilizzando il rapportatore per ottenere l'attributo disabilitato sul pulsante non funzionante

Quando ho ispezionare la pagina di questo è ciò che HTML ottengo per il pulsante che mostra disabile è disattivato, come è nella pagina:

<button type="submit" class="button primary inverse" ng-disabled="!comment.$dirty && comment.$valid" disabled="disabled">Save</button> 

Il test goniometro di seguito restituisce 'Previsto nulla alla parità disabilitato'

var btnSave = element(by.css('.primary')); 
    expect(btnSave.isPresent()).toBeTruthy(); 

    var attr = element(by.css('.primary')).getAttribute('disabled'); 

    expect(attr).toEqual("disabled"); 

Quando provo mi aspetto che sia uguale a disabilitato.

expect(attr).toEqual("disabled"); 

Qualche idea dove sto andando male?

Grazie

+0

Mi chiedo se ['isEnabled()'] (http://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.isEnabled) (o la versione promessa di 'not' di quello) funziona determinare disabilitato? –

risposta

7

getAttribute() funzione goniometro restituisce il valore nella forma di promessa. Quindi è necessario attendere fino al suo ritorno e quindi eseguire la convalida o è possibile passare la funzione al expectation che a sua volta risolve la promessa. L'attributo html disabled è un boolean attribute e quindi il valore restituito è true o false. Ecco come -

element(by.css('.primary')).getAttribute('disabled').then(function(attr){ 
    expect(attr).toBe(true); 
}); 

O

expect(element(by.css('.primary')).getAttribute('disabled')).toBe(true); 

Speranza che aiuta.

+0

Grazie. Ma posso ottenere solo un "vero" equo. Così da qualche parte disabilitato = "vero" viene raccolto. element (by.css ('. primary')). getAttribute ('disabled'). then (function (attr) { expect (attr) .toBe ("true"); }); – thegunner

+1

L'attributo @thegunner disabled non ha alcun valore assegnato come attributo booleano. È possibile verificare la presenza del nome dell'attributo in questo caso controllando se il valore è true. Risposta aggiornata con lo stesso Grazie a –

+0

l'attributo @thegunner disabled non ha alcun valore assegnato come attributo booleano. È possibile verificare la presenza del nome dell'attributo in questo caso controllando se il valore è true. Risposta aggiornata con lo stesso Grazie –