Actuelle de la fenêtre de capture d'écran en utilisant Selenium Webdriver en C#
Je suis en train de prendre une capture d'écran d'un test en cours d'exécution dans Selenium WebDriver en C#. Je suis à l'aide de Gallion pour exécuter mes tests. Ci-dessous mon code pour la capture d'écran:
public void TakeScreenshot(IWebDriver driver, string saveLocation)
{
ITakesScreenshot screenshotDriver = driver as ITakesScreenshot;
Screenshot screenshot = screenshotDriver.GetScreenshot();
screenshot.SaveAsFile(saveLocation, ImageFormat.Png);
}
Je suis en utilisant le code ci-dessous dans mes tests pour prendre la capture d'écran:
IWebDriver driver = new ChromeDriver();
TakeScreenshot(driver, @"C:\screenshot.png");
Le problème est que lors de l'exécution, l'état ouvre un nouveau chrome fenêtre et affiche un message d'erreur. Mon objectif est de prendre une capture d'écran d'un script en cours. Quels changements dois-je faire pour que cela se produise?
P. S. - Est-il possible de prendre une capture d'écran lors de l'exécution de l'essai sans l'initialisation d'un nouveau pilote?
- Quelle est la version de google Chrome, vous êtes en cours d'exécution? Quelle est la version de ChromeDriver êtes-vous en cours d'exécution? Poster une capture d'écran de votre "Debug" dossier après la création de vos tests.
Vous devez vous connecter pour publier un commentaire.
Capturer une Capture d'écran en utilisant Selenium Webdriver Avec C#.Net, NUnit.
ImageFormat
est maintenant obsolète l'utilisationScreenshotImageFormat
à la place.De l'erreur où chromedriver.exe n'est pas trouvé, ajoutez le chromedriver.exe fichier de visual studio et de mettre en "Copier Vers un Répertoire de Sortie" à la "Copy" dans la fenêtre des propriétés.
Vous avez besoin pour naviguer dans une page avant de prendre une capture d'écran - si la page par défaut de chrome est vierge, vous verrez l'erreur
Si pas, vous pouvez également exécuter dans à des problèmes d'autorisation lors de l'enregistrement de fichiers sur la racine C:\, afin d'enregistrer vos captures d'écran dans un sous-répertoire.
Le code suivant devrait fonctionner:
PS: Toujours poster les détails de l'erreur de toutes les erreurs que vous voyez, pour nous aider à mieux vous aider.
Voici ma solution. J'ai dû créer un nouveau, explicite pilote de la page et ajout de la méthode des captures d'écran de cette page. Ci-dessous est la méthode que j'ai ajouté: