Chrome
Chrome
Firefox
Chrome Headless
Firefox Headless
PhantomJS
WebDriver
, une infrastructure d'automatisation de navigateur.
Selenium WebDriver
prend en charge plusieurs implémentations de navigateurs ou pilotes, décrits ci-dessous.Protractor
prend en charge les deux dernières versions majeures de Chrome
, Firefox
, Safari
et IE
.
Ceux-ci sont utilisés dans la suite de tests de Protractor
.Vous pouvez voir le statut actuel sur Travis.Protractor
utilise WebDriver
pour piloter les navigateurs,
tous les problèmes liés aux implémentations de WebDriver
(tels que FireFoxDriver
, ChromeDriver
et IEDriver
) apparaîtront dans Protractor
.
Le tableau ci-dessous contient des liens vers les principaux problèmes connus.
Vous pouvez effectuer une recherche parmi tous les problèmes de WebDriver
dans le suivi des problèmes de Selenium
.Driver | Support | Problèmes connus |
---|---|---|
ChromeDriver |
Oui | Lien |
FirefoxDriver * |
Oui | Lien |
SafariDriver |
Oui | Lien |
IEDriver |
Oui | Lien |
OperaDriver |
Non | |
ios-Driver |
Non | |
époques - IOS / Safari |
Oui** | Lien |
époques - Android / Chrome |
Oui** | Lien |
Selendroid |
Oui** | |
PhantomJS / GhostDriver |
* | Lien |
WebDriver
dans Firefox
a récemment changé et la version FireFox 48
ne fonctionne pas correctement avec les outils actuels.
Pour le moment, nous vous recommandons de tester FireFox 47
.
Dans les versions futures, WebDriver
via le projet Marionette
de Mozilla
sera disponible.Protractor
.PhantomJS
pour les tests avec Protractor
.
De nombreux problèmes signalés avec PhantomJS
se bloquent et se comportent différemment des navigateurs réels.capabilities
.
Cet objet est transmis directement au générateur WebDriver
( builder.js ).config.ts
Chrome
, définissez simplement un nom de navigateur différent dans l'objet Fonctions.IE
ou Android
.
Pour plus d'informations, voir Téléchargements SeleniumHQChrome
sont imbriquées dans l'objet chromeOptions
.
Une liste complète des options est disponible sur le site ChromeDriver.
Par exemple, pour afficher un compteur FPS en haut à droite, votre configuration devrait ressembler à ceci :Firefox
sont imbriquées dans l'objet moz:firefoxOptions
.
Une liste complète des options se trouve sur la page GeckoDriver Github.
Par exemple, pour fonctionner en mode sans échec, votre configuration ressemblerait à ceci :multiCapabilities
de configuration.multiCapabilities
est défini, le coureur ignorera la configuration capabilities
.
Protractor
expose une fonction dans l'objet browser
pour vous aider à atteindre cet objectif :
browser.forkNewDriverInstance(opt_useSameUrl, opt_copyMockModules)
.
Cet appel renverra un nouvel objet de navigateur indépendant.
Le premier paramètre de la fonction indique si vous souhaitez que le nouveau navigateur démarre avec la même URL que celle du navigateur que vous avez créé.
Le deuxième paramètre indique si vous souhaitez que le nouveau navigateur copie les modules fictifs à partir du navigateur que vous avez créé.element
, $
, $$
et browser
sont tous associés au navigateur d'origine.
Pour interagir avec les nouveaux navigateurs, vous devez spécifiquement indiquer à rapporteur de le faire comme suit :Protractor
veillera à ce que les commandes s'exécutent automatiquement de manière synchronisée.
Par exemple, dans le code suivant, element(by.model(...)).click()
sera exécuté avant browser2.$('.css').click()
:--headless
.Chrome 58
, vous devez également définir --disable-gpu
, bien que cela puisse changer dans les versions futures.
De plus, changer la taille de la fenêtre pendant un test ne fonctionnera pas en mode Headless,
mais vous pouvez le définir sur la ligne de commande comme ceci --window-size=800,600
.--headless
.