Rapporteur d'angle + chrome pilote: l'Élément n'est pas cliquable au point

Salut, je vais avoir quelques difficultés à obtenir une base rapporteur test fonctionne.

Ma configuration:

  • - Je utiliser requirejs donc je init angulaire à l'aide angulaire.bootstrap(), et non pas à la ng-app attr. Selon le rapporteur docs ce n'est pas pris en charge hors de la boîte, mais il semble bien fonctionner pour des tests qui n'impliquent cliquer.
  • Rapporteur conf.json:

    "use strict";
    exports.config = {
        specs: '../E2ETests/**/*.js',
        chromeOnly: true,
        getPageTimeout: 30000,
        allScriptsTimeout: 30000
    }
  • J'utilise de la troisième partie jquery bouchons qui j'envelopper dans les directives, je soupçonne ces pourrait être une partie du problème.

Le test:

"use strict";
describe('When clicking should add stuff', function () {
    var ptor;
    beforeEach(function () {
        browser.get('https://localhost/myApp');
        ptor = protractor.getInstance();
    });
    it('add stuff', function () {
        //If I comment this, the test pass. 
        element(by.id('add-stuff-button')).click();
        //This does not matter fails on the line above..
        expect(browser.getTitle()).toBeDefined();
    });
});

L'erreur:

UnknownError: unknown error: Element is not clickable at point (720, 881). Other element would         receive the click: <div class="col-md-5 col-md-offset-5">...</div>
(Session info: chrome=37.0.2062.124)
(Driver info: chromedriver=2.10.267521,platform=Windows NT 6.1 SP1 x86_64)

Pensées

La chromedriver faire trouver le bouton, parce que si je change l'id il se plaint qu'aucun élément n'est trouvé. Je pense donc que le problème est que le bouton se déplace de sa position initiale. Comme l'élément(***) fonction doit attendre angulaire à faire, je pense que sa les plugins tiers qui pourrait nuire comme ils ne pourraient pas utiliser angulaire de l'api, extraction de données, etc. Donc angulaire pense que sa fait, mais ensuite, la troisième partie plug remplit et se déplace trucs autour.

Toutes les idées que faire?
Si le tiers des bouchons est le problème, je peux en quelque sorte dire angulaire que le tiers des trucs qui se passe et puis plus tard le dire quand c'est fait?

Thx
Br
Twd

  • Cela se produit si le chrome fenêtre est trop petite, essayez d'ajouter à l'intérieur de la beforeEach navigateur.le pilote.gérer().fenêtre().setSize(1280, 1024);
  • Thx origine, fonctionne! Ajouter à la réponse et je vais le tag.
  • Vous êtes les bienvenus 🙂
  • Vérifiez également cette réponse pour les choses que vous pouvez essayer.
InformationsquelleAutor twDuke | 2014-10-06