DOM,
à interagir avec eux et à obtenir des informations sur l'état actuel de votre application.
Cette documentation explique comment localiser et exécuter des actions sur des éléments DOM à l'aide de Protractor.Protractor exporte une fonction globale element, qui prend un localisateur et retournera un ElementFinder.
Cette fonction trouve un seul élément. Si vous devez manipuler plusieurs éléments, utilisez la fonction element.all.ElementFinder dispose d' un ensemble de méthodes d'action, tels que click(), getText() et sendKeys.
Celles-ci constituent le principal moyen d'interagir avec un élément et de récupérer des informations à partir de celui-ci.Protractor, toutes les actions sont asynchrones.
En coulisse, toutes les actions sont envoyées au navigateur contrôlé à l'aide du protocole JSON Webdriver Wire.
Le navigateur exécute ensuite l'action comme le ferait un utilisateur de manière native.Protractor comment trouver un élément DOM particulier.
Le rapporteur exporte des usines de localisation sur l'objet global by. Les localisateurs les plus courants sont :element, comme ci-dessous :CSS comme localisateur, vous pouvez utiliser la notation de raccourci $() :element() retourne un objet ElementFinder.
ElementFinder sait comment localiser l'élément DOM en utilisant le localisateur que vous avez transmis en tant que paramètre, mais il ne l'a pas encore fait.
Il ne contactera pas le navigateur tant qu'une méthode d'action n'a pas été appelée.WebDriverJS sur un WebElement est disponible sur un ElementFinder.DOM, utilisez la fonction element.all.
Cela prend également un localisateur comme seul paramètre.element.all() a plusieurs fonctions d'assistance :CSS en tant que localisateur, vous pouvez utiliser la notation de raccourci $$ () :element.all comme ci-dessous.get / first / last comme ceci :WebDriver et WebElements, ou si vous êtes simplement curieux des WebElements mentionnés ci-dessus,
vous vous demandez peut-être comment ils se rapportent à ElementFinders.driver.findElement(locator), WebDriver envoie immédiatement une commande au navigateur lui demandant de localiser l'élément.
Ce n'est pas idéal pour créer des objets de page, car nous voulons pouvoir faire des choses dans la configuration (avant le chargement d'une page) comme ... myButton tout au long de votre test.
ElementFinders contourne cela en stockant simplement les informations de localisation jusqu'à l'appel d'une action.ElementFinders permet également le chaînage pour trouver des sous-éléments, tels que element(locator1).element(locator2).WebElement sont encapsulées de cette manière et disponibles sur ElementFinder, en plus de plusieurs méthodes d'assistance telles que isPresent.WebElement sous-jacent en utilisant element(locator).getWebElement(), mais vous n'auriez pas besoin de le faire.