Quelle est la bonne façon de gérer toute forme d'erreur/erreur d'assertion, de sorte que lorsqu'un test échoue, le test suivant soit exécuté? ou est-ce mieux pour moi de n'avoir qu'un seul test dans un fichier JavaScript?Bonne façon de gérer les erreurs d'assertion afin que le test suivant puisse être exécuté
describe('SMP Service Login Page', function() {
describe('Loggin in', function() {
// Unhappy flow always first
var assert = require('assert');
var useridField;
var passwordField;
var loginButton;
it('should not allow user to login with wrong userid', function(done) {
throw new Error("haha");
});
it('should fail because of assertion', function(done) {
useridField = browser.element('android=new UiSelector().text("User Name").className("android.widget.EditText")');
useridField.setValue('FIRST');
console.log(useridField);
passwordField = browser.element('android=new UiSelector().className("android.widget.EditText").instance(1)');
passwordField.setValue('FIRST');
loginButton = browser.element('android=new UiSelector().resourceId("android:id/button1")');
var text = loginButton.getText(); //text = 'LOG IN'
assert.equal(text,'LOG'); //this should fail , throws an error
loginButton.click(done);
});
//this test doesn't get run cause of assertion error thrown
it('should pass but it fails because it could not locate the useridField', function(done) {
console.log(useridField);
useridField.setValue('userid');
passwordField = browser.element('android=new UiSelector().className("android.widget.EditText").instance(1)');
passwordField.setValue('passsword');
loginButton = browser.element('android=new UiSelector().resourceId("android:id/button1")');
loginButton.click(done);
});
});
});
yeap. J'ai réalisé des assertions que l'échec jettera. Il est impossible que les coureurs actuels signalent l'erreur et poursuivent le test. – user1166085