Ako sa Screenshot a uložiť do databázy MSSQL pomocou Java a Selenium Webriver



To je vziať Screenshot pomocou Selenium Webdriver a uložiť v databáze MS SQL. Obraz je uložený v databáze s názvom obrázku pripojeným s menom prehliadača, verziou prehliadača, poradovým číslom a názvom scenára. Tento kód je podporovaný prehliadačom Chrome, Firefox, Internet Explorer a Safari.

Existuje ešte jedna možnosť medzi riadkom 63-70, ak chcete obrázok uložiť do lokálneho priečinka. Môžete nastaviť priečinok v lokálnom systéme a uloží obrázok do priečinka, ktorý ste zadali vo formáte png a byte vo formáte MSSql Database.

Take Screenshot a uložiť do databázy MSSQL pomocou Java a Selenium Webriver

balík com.main;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Properties;

import java.util.concurrent.TimeUnit;

import javax.imageio.ImageIO;

import org.openqa.selenium.Capabilities;

import org.openqa.selenium.JavascriptExecutor;

import org.openqa.selenium.OutputType;

import org.openqa.selenium.TakesScreenshot;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.remote.RemoteWebDriver;

verejná trieda ImageSave {

private static int imageSeqNo = 0;

private static String scenName;

súkromný statický prehliadač WebDriverDriver;

private static int browserWidth;

private static int browserHeight;

public static String prehliadač;

verejný statický ovládač WebDriveru;

public static int getBrowserWidth () {

vráti prehliadačwidth;

}

public static int getBrowserHeight () {

vráti prehliadačHeight;

}

public static String getScenName () {

return scenName;

}

public static int getImageSeqNo () {

návrat imageSeqNo;

}

public static void main (String [] args) vyvolá výnimku {

// BrowserDriver.getCurrentDriver ();

}

public static void addScreenshot (ovládač WebDriveru) vyvolá IOException,

ClassNotFoundException, InterruptedException {

byte [] scrByte = getScreenShotBytes (ovládač);

browser = getBrowserAndVersion ();

String scenár = getScenName ();

String imageName = scenár + + ”+ prehliadač +” ”

+ System.currentTimeMillis () + “.png”;

Súbor scrFile = getScreenShotFile (ovládač);

String screenWidthHeight = getImageWidthHeight (scrFile);

// ak chcete uložiť snímku obrazovky v lokálnom systéme, aktivujte riadok nižšie

// FileUtils.copyFile (scrFile, nový súbor (“C: // screenshot //” + imageName));

insertImageDB (scrByte, scriptName, imageName, screenWidthHeight,

browser);

Thread.sleep (1000);

}

public static String getImageWidthHeight (Súbor imageFile) vyvolá IOException {

BufferedImage bimg = ImageIO.read (imageFile);

int imageWidth = bimg.getWidth ();

int imageHeight = bimg.getHeight ();

if (imageWidth! = 0) {

return imageWidth + “x” + imageHeight;

} else {

vráti “FullScreenx” + imageHeight;

}

}

public static Súbor getScreenShotFile (ovládač WebDriver) {

// WebDriver driverA = nový Augmenter ().

return (ovládač (TakesScreenshot)) .getScreenshotAs (OutputType.FILE);

}

public statický byte [] getScreenShotBytes (ovládač WebDriver) {

return (ovládač (TakesScreenshot)) .getScreenshotAs (OutputType.BYTES);

}

public static void insertImageDB (byte [] imageByte, String scenName,

String imageName, String screenWidthHeight, prehliadač String)

hodí ClassNotFoundException {

Vlastnosti dbProp = new Vlastnosti ();

InputStream dbPropInput = null;

ResultSet rs = null;

PreparedStatement ps = null;

Pripojenie con = null;

// setImageSeqNo (getImageSeqNo () + 1);

int seqNo = getImageSeqNo ();

System.out.println (scenName + ”-” + prehliadač + ”-”

+ screenWidthHeight + “—- Číslo záberu:” + seqNo);

skúste {

Reťazec propPath = “src test zdroje props dbnect.properties”;

dbPropInput = new FileInputStream (propPath);

dbProp.load (dbPropInput); // načíta súbor vlastností

String dbDriver = (dbProp.getProperty (“dbDriver”));

String dbURL = (dbProp.getProperty (“dbURL”));

String = (dbProp.getProperty (“SPSql”));

Class.forName (dbDriver);

con = DriverManager.getConnection (dbURL);

ps = con.prepareStatement (stPro);

java.util.Date date = new java.util.Date ();

java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp (date.getTime ());

System.out.println (“Image Timestamp =” + sqlTimestamp);

ps.setEscapeProcessing (true);

ps.setQueryTimeout (90); // hodnota timeoutu môže byť neskôr vypnutá, obrázok

ps.setString (1, “Projekt”);

ps.setString (2, scenName);

ps.setString (3, prehliadač);

ps.setString (4, screenWidthHeight);

ps.setTimestamp (5, sqlTimestamp);

ps.setInt (6, seqNo);

ps.setString (7, imageName);

ps.setBytes (8, imageByte);

/ / komentovať nižšie riadok vypnúť aktualizácie databázy

ps.executeUpdate ();

} catch (IOException e) {

e.printStackTrace ();

} catch (SQLException e) {

e.printStackTrace ();

} nakoniec {

skúste {

if (dbPropInput! = null)

dbPropInput.close ();

if (rs! = null)

rs.Close ();

ak (ps! = null)

ps.close ();

if (con! = null)

con.close ();

} catch (Výnimka e) {

e.printStackTrace ();

}

}

}

public static String getBrowserAndVersion () {

String browser_version = null;

Capabilities cap = ((RemoteWebDriver) ovládač) .getCapabilities ();

String browsername = cap.getBrowserName ();

// Tento blok na zistenie čísla verzie IE

if („internetový prehliadač“ .equalsIgnoreCase (browsername)) {

String uAgent = (String) ((JavascriptExecutor) ovládač)

.executeScript (“return navigator.userAgent;”);

System.out.println (uAgent);

// uAgent sa vráti ako "MSIE 8.0 Windows" pre IE8

ak (uAgent.contains (“MSIE”) && uAgent.contains (“Windows”)) {

browser_version = uAgent.substring (uAgent.indexOf (“MSIE”) + 5,

uAgent.indexOf („Windows“) - 2);

} else if (uAgent.contains (“Trident / 7.0”)) {

browser_version = “11.0”;

} else {

browser_version = “00”;

}

} else {

// Verzia prehliadača pre Firefox a Chrome

browser_version = cap.getVersion (); // .split (“.”) [0];

}

String browserversion = browser_version.substring (0,

browser_version.indexOf ( ""));

String bVersion = String.format (“% 02d”, Integer.parseInt (browserversion));

return ((browsername) + “_” + bVersion);

}

public static String browserNameConvert (String browser_name) {

if (org.apache.commons.lang3.StringUtils.containsIgnoreCase (

browser_name, “explorer”)) {

návrat „IE“;

} else if (org.apache.commons.lang3.StringUtils.containsIgnoreCase (

browser_name, “firefox”) {

návrat “FF”;

} else if (org.apache.commons.lang3.StringUtils.containsIgnoreCase (

browser_name, “chrome”) {

návrat “CH”;

} else if (org.apache.commons.lang3.StringUtils.containsIgnoreCase (

browser_name, “safari”) {

návrat „SF“;

} else {

návrat “NA”;

}

}

}

MSSQL Database Connection Vlastnosť súbor s užívateľskými povereniami a Store Procedure

################## dbConnect.properties ##################

dbDriver = com.microsoft.sqlserver.jdbc.SQLServerDriver

dbURL = jdbc: SQLServer: // YOURSERVERURL; database = Názov databázy, user = USERNAME, password = HESLO

SPSql = {volanie STOREPROCEDURE (a, a, a, a, a, a, a, a)}

Ak chcete uložiť do databázy, procedúra ukladania už vytvorená v tomto príklade a všetky tieto údaje pre procedúru pripojenia k databáze a ukladacieho priestoru sú uvedené v súbore vlastností.

Meno prehliadača konvertuje na 2 krátke krátke formuláre, ako je FF (Firefox), CH (Chrome) atď Toto je tiež schopný nájsť verziu prehliadača programovo vrátane verzie verzie programu Internet Explorer. Tento skript podporuje verzie programu Internet Explorer 8, 9, 10, 11.

Predchádzajúci Článok

Reset alebo Bypass Windows 10/8/7 heslo s PCUnlocker

Reset alebo Bypass Windows 10/8/7 heslo s PCUnlocker

Zabudli ste heslo správcu na svojom notebooku alebo stolnom počítači? Zablokovaný mimo systému Windows po príliš veľkom počte nesprávnych pokusov o heslo? Oficiálna metóda spoločnosti Microsoft na obnovenie zabudnutého hesla systému Windows je pomocou disku na obnovenie hesla. Ak budete čakať, kým zabudnete svoje heslo, je príliš neskoro a musíte nájsť spôsoby, ako odomknúť počítač bez disku na obnovenie hesla. Ak je váš účet Windows uzamk...

Nasledujúci Článok

Nechcem odhodiť, previesť staré Android tablety na užitočné Gadgets

Nechcem odhodiť, previesť staré Android tablety na užitočné Gadgets

Technológia sa neustále vyvíja a inovuje, čo užívateľom prináša nové funkcie ako aktualizácie. Ľudia sa tiež modernizujú, ako aj svoje veci, aby zostali v pohybe so súčasným tokom. Pokiaľ ide o prispôsobenie sa tejto zmene, občas meníme aj smartfóny a tablety. Zmena sa vykonáva raz za dva roky as týmto sme schopní preskúmať nové veci, ktoré sa stretávajú s vynikajúcimi vlastnosťami, ktoré má pre vás. Tablety bežiace na systéme Android...