Les captures d'écran automatique lorsque le test échoue par Selenium Webdriver en Python
Je veux saisie automatique des captures d'écran si mon webdriver tests ont échoué (toute exception ou une erreur d'assertion). Je suis à l'aide de Python unittest et Selenium Webdriver. Quelqu'un aurait-il une solution à ce problème?
Vous devez vous connecter pour publier un commentaire.
faire quelques webdriver trucs dans Firefox... sauvegarder la capture d'écran sur toute exception à une datée du fichier image:
Une autre méthode serait d'ajouter les éléments suivants à votre
tearDown
méthode:Ce serait en supposant une classe de test comme ceci:
De référence pour l'Avenir/les Gens d'ici est une solution qui fonctionne en Python3, qui fonctionne à la fois une Exception et sur l'échec d'un faire Valoir.
(Basé sur https://stackoverflow.com/a/23176373/9427691)
La
sont Python3 seulement, donc pour Python2 utilisation
à la place.
Pour ceux qui veulent seulement une capture d'Écran sur les exceptions. Vous devriez jeter un oeil à ce lien: http://blog.likewise.org/2015/01/automatically-capture-browser-screenshots-after-failed-python-ghostdriver-tests/
Voici une solution à l'aide d'un décorateur qui wrapps chaque méthode d'une classe qui commence
test_
avec un wrapper qui prend une capture d'écran si la méthode de pose et d'Exception. Lebrowser_attr
est-à-dire l'décorateur comment faire pour obtenir le navigateur web (pilote).Vous pouvez commencer à explorer
self._outcome.errors[1]
où il est possible de trouver des informations sur les erreurs.c'est à dire en dessous de code ne fonctionne que pour l'affirmation des erreurs
Pour Django 2.2.2 (qui utilise unittest) dans ma classe pour le sélénium tests, qui a hérité de StaticLiveServerTestCase j'ai surdéfini _feedErrorsToResult méthode. En outre, cette approche fournit une façon délicate de savoir le nom de la méthode appelée pour convinient capture d'écran de l'enquête.
Pour m'aider à cette solution: