Je suis relativement nouveau dans les tests Protractor et E2E, mais j'ai passé quelques jours à faire des recherches, à configurer des objets page et à créer des suites de tests, et une chose que je me pose est comment créer une bonne navigation manuelle entre les objets de la page et les pages réelles. Disons que j'ai quelques parties sur mon site qui peuvent naviguer vers d'autres parties de celui-ci; l'objet page pour un d'entre eux pourrait ressembler à ceci:Bien faire la navigation manuelle avec les objets page
var SomePartPage = function() {
this.btnPopUp = // button for opening some pop up
...
this.openPopUp = function() {
this.btnPopUp.click();
return popUpPage;
};
};
que je suis la ligne directrice que le retour des objets de page est une bonne chose, et je présume que la promesse de retour en appelant click()
sera résolu avant renvoyant (selon le flux de contrôle de WebDriverJS).
Mais j'ai une configuration dans mon test où je veux vérifier que cette navigation se déroule correctement, et parfois cela fonctionne et parfois non. Donc je suppose que c'est parce que mon pop-up n'est pas toujours complètement chargé au moment où je veux interagir avec lui (c'est-à-dire au moment où openPopUp()
est revenu).
Mes hypothèses sont-elles correctes? Et si oui, comment puis-je faire face à cela? Je peux utiliser des minuteries manuelles et des promesses bien sûr, mais je préférerais avoir une promesse qui sera résolue automatiquement lorsque mon pop-up sera complètement chargé.
Est-ce votre pop-up modale ou une nouvelle fenêtre de navigateur? S'il s'agit d'une nouvelle fenêtre, vous devez basculer vers cette fenêtre avec switchTo() https://code.google.com/p/selenium/source/browse/javascript/webdriver/webdriver.js#885 –
Ce n'est pas une nouvelle fenêtre ou onglet, ce qui ne devrait pas être le problème. – KasMA1990