Marionette est un pilote automatique pour Gecko le moteur de Mozilla. Il peut contrôler à distance l'interface utilisateur ou bien le javascript interne d'une plateforme Gecko, telle que Firefox. Il peut contrôler à la fois le chrome (i.e menus et fonctions) et le contenu (la page web chargée dans le contexte du navigateur), donnant ainsi un haut niveau de contrôle et la possibilité de répliquer les actions utilisateur. En plus de réaliser des actions sur le navigateur, Marionette peut aussi lire les propriétés et les attributs du DOM.

Si cela vous fait penser à Selenium/WebDriver vous êtes dans le vrai ! Marionette partage le même esprit et l'API de Selenium/WebDriver, avec des commandes additionnelles permettant d'interagir avec l'interface chrome de Gecko. Son but est de répliquer ce que Selenium fait pour le contenur web: permettre au testeur de pouvoir envoyer des commandes pour contrôler un "user agent" à distance.

Comment ça marche ?

Marionette est composée de deux parties: Un serveur qui reçoit les requêtes et les execute et Gecko, un client. Le client envoie des commandes au serveur et le serveur execute les commandes dans le navigateur.

Quand dois-je l'utiliser ?

Si vous voulez réaliser des tests d'interface utilisateur avec le chrome et le contenu du navigateur, alors Marionette est l'outil que vous cherchez. Vous pouvez l'utiliser pour contrôler le contenu web ou bien Firefox lui même.

Un ingénieur de test importera typiquement le paquet client Marionette dans son framework de test, importera les classes et utilisera les fonctions et methods pour contrôler le navigateur. Après avoir contrôlé le navigateur, Marionette peut être utilisée pour renvoyer l'information à propos de l'état du navigateur qui peut alors être utilisé pour valider que l'action été correctement réalisée.

Utiliser Marionette

Marionette est composée d'un composant gecko (le serveur Marionette) et un composant externe (le client Marionette), qui dirige les tests. Le serveur Marionette est livré avec Firefox, et pour l'utiliser vous avez besoin de télécharger un client Marionette ou bien utiliser in-tree client.

Bugs

N'hésitez pas à indiquer les bogues que vous pourriez trouver dans le composant Testing :: Marionette dans Bugzilla.  Vous pouvez voir une liste des bogues courants pour voir si votre problème est déjà connu.

Questions/Commentaires/Soucis

N'hésitez pas à nous contact sur le canal #ateam !

Contribuer

Si vous voulez contribuer, suivez ce guide !

Souspages (section temporaire)

Cette section est ici pour aider à copier-éditer et organiser le travail en cours, et sera retiré bientôt quand le travail sera fini.

 

Étiquettes et contributeurs liés au document

Contributeurs à cette page : lp177, fbataill, Jonathan_Watt
Dernière mise à jour par : lp177,