Cucumber n’est pas un outil d’automatisation de navigateur, mais il fonctionne bien avec les outils d’automatisation de navigateur suivants.
WebDriver est conçu pour fournir une solution plus simple , interface de programmation plus concise que certains autres outils. Selenium-WebDriver prend mieux en charge les pages Web dynamiques où les éléments d’une page peuvent changer sans que la page elle-même ne soit rechargée. L’objectif de WebDriver est de fournir une API orientée objet bien conçue qui offre une prise en charge améliorée des problèmes de test avancés d’applications Web modernes.
Selenium-WebDriver peut être utilisé dans plusieurs langages de programmation, y compris Java, JavaScript, Ruby et Kotlin.
Regardons un exemple de Cucumber utilisant Selenium-WebDriver dans les tests d’interface utilisateur, en convertissant le pilote Selenium-Web par exemple.
Nous pouvons exprimer l’exemple comme le scénario suivant:
Plus d’informations sur Selenium Webdriver.
Browser Automation Tools for JVM
Serenity BDD est une bibliothèque de rapports open source qui vous aide à rédiger des critères d’acceptation automatisés mieux structurés et plus faciles à maintenir. Serenity produit également des rapports de test riches et significatifs (ou «documentation vivante») qui rapportent non seulement les résultats des tests, mais également les fonctionnalités qui ont été testées.
Un tutoriel détaillé sur l’utilisation de Cucumber-JVM avec Serenity peut être trouvé ici, et plus d’informations sur Serenity peuvent être trouvées sur leur site officiel.
Serenity BDD est une bibliothèque de rapports open source qui vous aide à rédiger des critères d’acceptation automatisés mieux structurés et plus faciles à maintenir. Serenity produit également des rapports de test riches et significatifs (ou « documentation vivante ”) Qui rapportent non seulement les résultats des tests, mais aussi les fonctionnalités qui ont été testées.
Un tutoriel détaillé sur l’utilisation de Cucumber-JVM avec Serenity peut être trouvé ici, et plus d’informations sur Serenity peuvent être trouvées sur leur site officiel .
Serenity ne fonctionne qu’avec les langages JVM.Serenity ne fonctionne qu’avec les langages JVM.
Outils d’automatisation du navigateur pour Ruby
Watir (prononcé eau), est une famille open-source (BSD) des bibliothèques Ruby pour l’automatisation du navigateur Web s. Il vous permet d’écrire des tests plus faciles à lire et à maintenir. C’est simple et flexible.
Watir pilote les navigateurs de la même manière que les gens. Il clique sur des liens, remplit des formulaires, appuie sur des boutons. Watir vérifie également les résultats, par exemple si le texte attendu apparaît sur la page.
Watir est une famille de bibliothèques Ruby, mais il prend en charge votre application, quelle que soit la technologie dans laquelle elle est développée. Alors que Watir ne prend en charge que Internet Explorer sur Les fenêtres; Watir-WebDriver résout les tests de navigateur unique et prend en charge Chrome, Firefox, Internet Explorer, Opera et fonctionne également en mode sans tête (HTMLUnit).
Passons maintenant à un exemple de programme de test d’interface utilisateur utilisant Watir:
Maintenant, incorporons Cucumber à ce test:
Plus d’informations sur Watir.
Watir ne fonctionne qu’avec Ruby.Watir ne fonctionne que avec Ruby.Watir fonctionne uniquement avec Ruby.
Capybara
Cucumber-Rails est préconfiguré avec la prise en charge des tests d’intégration de vues à l’aide de Capybara (script/generate cucumber --capybara
).
Sauf indication contraire, le générateur d’installation de Cucumber-Rails configurera les fichiers de support nécessaires pour Capybara.
Bien que Capybara soit la méthode de test préférée pour les vues HTML dans les cucumber-rails, il ne le fait pas jouez bien avec le propre intégré de Rails MiniTest/Test::Unit
. En particulier, chaque fois que Capybara est requis dans un monde de concombre, la response.body
méthode de Rails Test::Unit
est supprimée. Capybara dépend de Nokogiri et Nokogiri préfère utiliser XML plutôt que les balises CSS. Ce comportement peut être remplacé dans ./features/support/env.rb
.
Plus d’informations sur Capybara.
Capybara ne fonctionne qu’avec Ruby, Capybara ne fonctionne qu’avec Ruby, et Capybara ne fonctionne qu’avec Ruby.
Capture d’écran en cas d’échec
Prendre une capture d’écran en cas d’échec d’un scénario peut vous aider à comprendre ce qui n’a pas fonctionné. Pour prendre une capture d’écran en cas d’échec, vous pouvez configurer un hook après.
Voici un exemple de la façon de prendre une capture d’écran avec WebDriver pour les scénarios ayant échoué et de les intégrer dans le rapport de Cucumber.
Voici un exemple de comment faire une capture d’écran avecWebDriver pour scénarios ayant échoué et intégrez-les dans le rapport de Cucumber.
Voici un exemple de la façon de prendre une capture d’écran avec WebDriver pour les scénarios ayant échoué et de les intégrer dans le rapport de Cucumber.
Voici un exemple de la façon de prendre une capture d’écran avec Capybara pour les scénarios ayant échoué et de les intégrer dans le rapport de Cucumber.
Plusieurs navigateurs
Cucumber peut exécuter vos scénarios avec différents navigateurs, en fonction d’une propriété de configuration chargée lors de l’exécution:
Ensuite, définissez la propriété browser
lorsque vous exécutez Cucumber:
Si vous utilisez Serenity, transmettez la propriété système driver
(aucun codage supplémentaire requis):
Si vous utilisez Serenity, transmettez la propriété système driver
(aucun codage supplémentaire requis):