Lors de l'exécution des tests d'automatisation de l'interface utilisateur, lorsque l'inspection échoue, vous constatez souvent que le journal imprimé ne nous aide pas efficacement à localiser le problème. Nous avons besoin de captures d'écran du moment de l'échec à reproduire la scène de l'échec à ce moment-là, puis de dépanner la cause de l'erreur.
Sur la base de cette exigence, la fonction de capture d'écran de Selenium peut être utilisée.
Le code d'implémentation est le suivant:
import java.io.file; import java.io.ioexception; import org.apache.commons.io.fileutils; import org.apache.commons.lang3.time.dateutils; import org.openqa.selenium.outputType; import org.openqa.selenium.takesscreenshot; import; org.openqa.selenium.webdriver; import org.openqa.selenium.interactions.actions; public static void TakeScreeshot (String Screenpath, webdriver chrome) {try {// spécifiez la méthode de sortie de l'apogée comme un paramètre. Fichier scrfile = ((takesscreenshot) chrome) .getScreenshotas (outputType.file); // Code clé, exécutez des captures d'écran, par défaut, enregistrez la capture d'écran dans le répertoire temporaire fileUtils.copyfile (scrfile, nouveau fichier (screenpath)); // Utilisez la méthode CopyFile () de la classe d'outils FileUtils pour enregistrer l'objet de fichier renvoyé par getScreenshotas (). } catch (ioException e) {System.out.println ("Erreur de prise de vue d'écran:" + ScreenPath); System.out.println ("Cette erreur peut être affichée dans la capture d'écran:" + ScreenPath); } catch (exception e) {// todo: greg exception}} public static void takeScreenshot (webdriver chrome, string imGname) {string screenname = imgname + dateutils.milis_per_day + ". jpg"; String filestring = "d: // Selenium // SchoolPalerp_qtp // image"; if (! (nouveau fichier (filestring) .isDirectory ())) {// déterminer si le répertoire existe un nouveau fichier (filestring) .mkdir (); // s'il n'existe pas, créez un nouveau répertoire} file dir = nouveau fichier (filestring); if (! dir.exists ()) dir.mkDirs (); String ScreenPath = dir.getAbsolutePath () + "//" + screenName; TakesCreeshot (ScreenPath, Chrome); }L'exemple de code ci-dessus pour la fonction de capture d'écran du test d'automatisation de l'interface utilisateur de Selenium est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.