2017-04-06 4 views
0

protractor affichez-moi le message d'erreur qu'il n'y a pas d'élément de liste.protractor -errors Message: Attendu 0 à égal 5

conFusion App E2E Testing menu 0 item should show the number of comments Message: Expected 0 to equal 5. Stack: Error: Failed expectation at Object. (/Users/fullStock/anglerJs/conFusion/test/e2e/scenarios.js:37:23)

Je l'ai test E2E pour assurer le nombre de liste des commentaires qui apparaîtra sur la page est utilisé 5.J'ai serveur JSON pour servir les données. Je pense que le problème n'est pas encore apparu dans le DOM. Y at-il un moyen de dire au rapporteur d'attendre qu'un élément apparaisse finalement dans le DOM?

Code E2E Test

describe('menu 0 item', function() { 
beforeEach(function() { 
    browser.get('index.html#/menu/0'); 
}); 

it('should have a name', function() { 
     var name = element(by.binding('dish.name')); 
     expect(name.getText()). 
     toEqual('Uthapizza Hot $4.99'); 
}); 

it('should show the number of comments as', function() { 
    expect(element.all(by.repeater('comment in dish.comments')) 
     .count()).toEqual(5); 

}); 

code html pour commentaires

<h4> Customer Comments &nbsp; 
       <span style="font-size:15px;">sorted by:<input type="text" ng-model="FiltText"></span></h4> 
      <blockquote ng-repeat="commet in dish.comments |orderBy:FiltText"> 
       <h5>{{commet.rating}} Stars</h5> 
       <h5>{{commet.comment}}</h5> 
       <footer>{{commet.author}}, <span>{{commet.date|date}}.</span></footer> 

      </blockquote> 

de configuration protractor

exports.config = { 
    allScriptsTimeout: 11000, 
    specs: [ 
    'e2e/*.js' 
     ], 
    capabilities: { 
    browserName: 'chrome' 
    }, 

baseUrl: 'http://localhost:3001/', 

    framework: 'jasmine', 
    directConnect: true, 

jasmineNodeOpts: { 
    defaultTimeoutInterval:30000 
} 
}; 
+0

Avez-vous eu l'occasion de le vérifier manuellement? Et encore une chose est que votre localisateur semble être amélioré. Permettez-moi de poster une réponse pour cela avec ce localisateur particulier. Veuillez vérifier et laissez-moi savoir – krishnarajanr

+0

oui.je vérifier cela manuellement. En fait, je tape dans le terminal de regarder la gorgée pour servir cette liste web application.comment est là.toutes les choses bien, mais quand je fais un rapporteur pour faire un test, le test échoue. – munirah

Répondre

0

Vérifiez avec ce cas de test mis à jour. La chose est, vous n'avez pas pris tout le répéteur.

it('should show the number of comments as', function() { 
    expect(element.all(by.repeater('commet in dish.comments |orderBy:FiltText')) 
     .count()).toEqual(5); 
}); 
+0

Je l'ai fait, mais je n'ai pas réglé le problème. le même problème se produit. – munirah