Ho provato il AngularJS e2e tests e mi sto bloccando determinando se una casella di controllo è selezionata o meno.Come convalidare quando una casella di controllo è selezionata nei test AngularJS e2e?
ho usato il capo all'altro test dello checkbox input come campione (vedere la fine per terminare scheda prova nel Esempio).
snippet HTML:
Value1: <input type="checkbox" ng-model="value1"> <br/>
controller Snippet:
function Ctrl($scope) {
$scope.value1 = true;
}
Ecco cosa ho provato:
1) expect(binding('value1')).toEqual('true');
Questo funziona nel test end-to-end del campione finché value1
viene visualizzato sullo schermo con {{value1}}
. Se testate questo localmente e rimuovete `{{value1}} il test di binding fallisce. Nella maggior parte dei miei esempi del mondo reale non visualizzo il valore della casella di controllo sullo schermo da nessuna parte.
2) expect(input('value1').val()).toEqual('true');
Il valore Verrà sempre on
e non sono correlati alle se la casella di controllo è in uno stato controllato (tratto da this post).
Nota: Sembra che il test E2E angolare sarà sostituito con Protractor in futuro (vedi the docs)
Grazie! Mi piace questo meglio di quello che sto facendo attualmente. Terrò questa domanda aperta un po 'nel caso in cui ci sia un modo migliore :) – Gloopy
Nel karma, non è "attr" ma "prop" che dovrebbe essere usato.Per i compagni googlers. – Offirmo