Le rapporteur de l'erreur Angulaire n'a pas pu être trouvé sur la page
Je suis en train de configurer End-2-End de test pour mon Angulaire (1.4) site à l'aide du rapporteur (2.1.0). Jasmine est installé et les tests unitaires fonctionnent très bien. Quand je lance le rapporteur, l'indice#/page de connexion de charge dans une fenêtre de navigateur, mais pas de code s'exécute et le rapporteur signale cette erreur
A échoué: Angulaire n'a pas pu être trouvé sur la page http://localhost/SpectrumGMWeb/index.html#/login : tentatives de recherche angulaire dépassé
Mon rapporteur config ressemble à ceci
exports.config = {
allScriptsTimeout: 11000,
seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
specs: [
'*.js'
],
rootElement:'html',
capabilities: {
'browserName': 'chrome'
},
baseUrl: 'http://localhost/SpectrumGMWeb/',
framework: 'jasmine2',
jasmineNodeOpts: {
defaultTimeoutInterval: 30000
},
};
Mon fichier de test est très simple
describe('my app', function() {
describe('login', function() {
beforeEach(function() {
browser.get('index.html#/login');
});
it('should render login page when user navigates to login page', function() {
expect(true).toBe(true);
});
});
});
ng-app="principal" est défini sur l'élément html d'index.html. Le site web ne fonctionne pas.
Des idées?
ng-app
à body
et commentaire rootElement
dans la config. Même erreur? Merci.Oui j'ai essayé ça
également essayé... renommage module racine, et à la main d'amorçage angulaire
Avez-vous le bon login url de la page dans la méthode get
browser.get('index.html#/login')
? Le nombre de signer #
appartiennent là-bas? Si c'est le cas alors vous pourriez avoir un certain redirection vers un intermédiaire non-angulaire de la page en cours.Essayez ceci: navigateur.le pilote.get('index.html#/login');
OriginalL'auteur nuander | 2015-07-31
Vous devez vous connecter pour publier un commentaire.
Essayez de mettre un
browser.ignoreSynchronization = true;
avant de vous faire unbrowser.get()
dans votre fonction de connexion.Le paramètre peut être activé de retour après cette fonction particulière
browser.ignoreSynchronization = false
. Aussi, tant que la fonction de connexion est dans une autre bibliothèque, ignorant la synchronisation n'affectera pas le test plus tard.C'est vrai, et ce serait une réponse valable si la page de connexion n'était pas à l'intérieur de l'angle d'application, mais dans l'exemple donné à la page de connexion angulaire page afin ignoreSync ne devrait pas être nécessaire, il ya probablement un problème avec la façon angulaire est configuré, ce qui pourrait masquer un autre problème.
Oui. Je suis d'accord c'est pas une réponse directe, mais il est celui qui peut résoudre le problème. Je suis sûr qu'il peut y avoir plusieurs explications plausibles pour expliquer pourquoi la page est de se comporter de cette façon. Moi aussi j'avais le même problème sur la page de connexion et ce comment j'ai résolu mon problème sans effets secondaires sur le reste de l'épreuve.
J'ai le même problème mais je n'arrivais pas à le résoudre vos options, d'autres suggestions?
OriginalL'auteur Rahul Vig
Bien merci à tous pour vos commentaires. J'ai finalement résoudre ce problème en copiant tous les index.html le contenu du fichier dans un nouveau fichier. Il semble que d'une certaine façon le fichier a été endommagé d'une manière que le rapporteur n'a pas aimé. Je sais que cela semble simple, mais j'ai perdu 2 jours pleins sur ce donc espérons que cela aide quelqu'un.
OriginalL'auteur nuander
Si vous avez besoin d'accéder à une page qui n'utilise pas Angulaire puis Ajoutez cette ligne de code avant de navigateur.get() en ligne:
navigateur.waitForAngularEnabled(false);
Référence : https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular-on-page-load
OriginalL'auteur Mukesh Rajput
Êtes-vous sûr que vous avez lancé votre serveur à
http://localhost/SpectrumGMWeb/
?Rapporteur est l'alimentation de cette URL, le Sélénium et en essayant d'accéder à votre demande à cette adresse. Si elle n'est pas en cours d'exécution à cette adresse Rapporteur n'aurez pas de réponse, et vous donnera l'erreur que vous obtenez.
Si vous avez besoin de conseils sur la façon d'obtenir un serveur local et en cours d'exécution pour servir votre projet, je vous recommande de grunt-se connecter, par exemple, comme ceci (qui va lancer un serveur à
http://localhost:9001
)OriginalL'auteur Raphi
J'ai reçu cette erreur, et je l'ai corrigé en changeant mon colis.json "scripts" de la variable:
à
OriginalL'auteur maia