Modules
WebdriverIO publie divers modules sur NPM et d'autres registres que vous pouvez utiliser pour créer votre propre framework d'automatisation. Voir plus de documentation sur les types de configuration WebdriverIO ici.
webdriver
et devtools
Les packages de protocole (webdriver
et devtools
) exposent une classe avec les fonctions statiques suivantes attachées qui vous permettent de lancer des sessions :
newSession(options, modifier, userPrototype, customCommandWrapper)
Démarre une nouvelle session avec des fonctionnalités spécifiques. Sur la base de la session, des commandes de réponse provenant de différents protocoles seront fournies.
Paramètres
options
: Options WebDrivermodifier
: fonction qui permet de modifier l'instance client avant qu'elle ne soit renvoyéeuserPrototype
: objet de propriétés qui permet d'étendre le prototype d'instancecustomCommandWrapper
: fonction qui permet d'envelopper la fonctionnalité autour des appels de fonction
Retours
- Browser objet
Exemple
const client = await WebDriver.newSession({
capabilities: { browserName: 'chrome' }
})
attachToSession(attachInstance, modifier, userPrototype, customCommandWrapper)
Attache à une session WebDriver ou DevTools en cours d'exécution.
Paramètres
attachInstance
: instance pour attacher une session à au moins un objet avec une propriétésessionId
(par exemple{ sessionId: 'xxx' }
)modifier
: fonction qui permet de modifier l'instance client avant qu'elle ne soit renvoyéeuserPrototype
: objet de propriétés qui permet d'étendre le prototype d'instancecustomCommandWrapper
: fonction qui permet d'envelopper la fonctionnalité autour des appels de fonction
Retours
- Browser object
Exemple
const client = await WebDriver.newSession({...})
const clonedClient = await WebDriver.attachToSession(client)
reloadSession(instance)
Recharge une session en fonction de l'instance fournie.
Paramètres
instance
: instance de package à recharger
Exemple
const client = await WebDriver.newSession({...})
await WebDriver.reloadSession(client)
webdriverio
Comme pour les packages de protocole (webdriver
et devtools
), vous pouvez également utiliser les API du package WebdriverIO pour gérer les sessions. Les API peuvent être importées à l'aide de import { remote, attach, multiremote } depuis 'webdriverio
et contiennent les fonctionnalités suivantes :
remote(options, modifier)
Démarre une session WebdriverIO. L'instance contient toutes les commandes en tant que package de protocole mais avec des fonctions supplémentaires d'ordre supérieur, voir docs API.
Paramètres
options
: Options WebDrivermodifier
: fonction qui permet de modifier l'instance client avant qu'elle ne soit renvoyée
Retours
- Browser objet
Exemple
import { remote } from 'webdriverio'
const browser = await remote({
capabilities: { browserName: 'chrome' }
})