Le rapporteur E2E angulaire “angulaire n'a pas pu être trouvée sur la fenêtre”
J'ai une erreur étrange après l'exécution de mes tests angulaire du projet Error: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
. Mon Rapporteur de la configuration ressemble à ceci:
require('coffee-script').register();
exports.config = {
seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.39.0.jar',
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
browserName: 'chrome'
//'chromeOptions': {
// 'args': ['--disable-extensions']
//}
},
specs: [
'*_spec.coffee'
],
allScriptsTimeout: 10000000000,
baseUrl: 'http://localhost:9003/',
jasmineNodeOpts: {
isVerbose: false,
showColors: true,
includeStackTrace: true,
defaultTimeoutInterval: 10000000000
}
};
Et de test:
loginPage = require './pages/log_in_page'
describe 'Log In', ->
it 'shows after login', ->
loginPage()
.setEmail('[email protected]')
.setPass('a46s75d4as765d4a6s7d54as76d5as74das76d5')
Obtenir des informations à partir de la page:
module.exports = ->
@email = element By.css '.test-i-login'
@password = element By.css '.test-i-password'
@setEmail = (name) =>
@email.sendKeys(name)
this
@setPass = (number) =>
@password.sendKeys(number)
this
this
Il y a quelques questions similaires sur github, mais je ne trouvais pas une solution de travail pour moi. Thx pour la réponse.
- Serait-il possible que la fenêtre dont vous parlez est Non-Angulaire? Une telle erreur apparaît dans un tel cas
Vous devez vous connecter pour publier un commentaire.
Changer
framework
option Rapporteur config pour'jasmine2'
résolu ce problème pour moi.Voir ce fil pour de plus amples informations.
framework: 'jasmine2',
à l'conf.js fichierDans mon scénario, la page de login est non anguleuses, essayé le dessous de la sorte, travaillé pour moi
Rapporteur, est construit pour tester Angulaire des applications, de la signification des pages web qui ont un
ng-app
balise dans le corps de l'HTML et des contrôleurs qui correspondent aux Angulaire de code dans un fichier Javascript.La raison, Rapporteur, est si utile, c'est que Angulaires d'exécuter des applications de manière asynchrone, ce qui signifie qu'ils ne sont pas toujours la fin du chargement de la page web des charges. La plupart des tests de cadres essayez de cliquer sur les choses, type de choses, etc. avant que la page soit complètement prêt. Le rapporteur détecte tous les angles processus en cours d'exécution en arrière-plan de sorte que vous n'avez pas accidentellement faire quelque chose avant que tout soit prêt.
Ce Rapporteur est vous dire, c'est qu'il n'a pas trouvé tout Angulaire des processus en cours d'exécution sur la page. Votre page peut bien fonctionner, mais il n'a tout simplement pas compter sur Angulaire d'une manière que le Rapporteur peut reconnaître.
Cela ne signifie pas que le Rapporteur ne pouvez pas le test de la page. Vous pouvez accéder aux WebDriver commandes à l'aide de
browser.driver.any_webdriver_command_here()
. Vous aurez juste être absent dehors sur les fantastiques capacités de synchronisation que le Rapporteur propose.La raison de ce qui s'est passé, parce que j'ai eu chromedriver chemin d'installation de mal. Et c'est pourquoi j'ai eu ce message “angulaire n'a pas pu être trouvée sur la fenêtre”. L'autre problème que j'ai eu, c'est que, j'nécessaires à l'exécution de webdriver manuellement en tant que processus d'arrière-plan. Cela résout en faisant droit gulp de la tâche( ce qui j'ai fait de mal), ça va ressembler à quelque chose comme ceci:
Suppose que ça va aider quelqu'un, qui aurez similaire(stupide) de problèmes.