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

Ako zakázať Java na Windows PC.

Ako zakázať Java na Windows PC.

Počuli sme o nedávnych útokoch hackerov na notebookoch Twitter, Facebook a Mac, existuje mnoho otázok, ktoré sa týkajú bezpečnosti Java. Môžete vypnúť Java na vašom notebooku Windows na ochranu počítača pred útokmi. Tento príspevok vysvetľuje, ako vypnúť Java na operačnom systéme Windows. Program môžete znova ...

Nasledujúci Článok

Najlepšie aplikácie pre Android na streamovanie mediálnych súborov do zariadenia Chromecast z telefónu

Najlepšie aplikácie pre Android na streamovanie mediálnych súborov do zariadenia Chromecast z telefónu

Zariadenie Chromecast je zariadenie na prenos údajov, ktoré sa pripája do portu HDMI na televízore. Svoje obľúbené zábavy a aplikácie môžete odovzdať priamo na veľkú obrazovku z telefónu, tabletu alebo Chromebooku so systémom Android pomocou tohto zariadenia. V predvolenom nastavení môže zariadenie so systémom Android vysielať na zariadenie Chromecast obrazovku zariadenia a videá YouTube. Chromecast sa však n...