Kaip fotografuoti ir išsaugoti MSSQL duomenų bazę naudojant „Java“ ir „Selenium Webriver“



Tai turi būti „Screenshot“ naudojant „Selenium Webdriver“ ir išsaugoti MS SQL duomenų bazėje. Vaizdas išsaugomas duomenų bazėje su vaizdo pavadinimu, kuriame yra naršyklės pavadinimas, naršyklės versija, eilės numeris ir scenarijaus pavadinimas. Šis kodas yra palaikomas „Chrome“, „Firefox“, „Internet Explorer“ ir „Safari“.

Norint išsaugoti paveikslėlį į vietinį aplanką, tarp 63-70 eilutės yra dar viena parinktis. Vietos sistemoje galite nustatyti aplanką ir išsaugoti paveikslėlį į aplanką, kurį nurodėte png formatu ir baitų formatu MSSql duomenų bazėje.

Paimkite Screenshot ir išsaugokite MSSQL duomenų bazę, naudodami „Java“ ir „Selenium Webriver“

paketas com.main;

importuoti java.awt.image.BufferedImage;

importuoti java.io.File;

importuoti java.io.FileInputStream;

importuoti java.io.IOException;

importuoti java.io.InputStream;

importuoti java.sql.Connection;

importuoti java.sql.DriverManager;

importuoti java.sql.PreparatedStatement;

importuoti java.sql.ResultSet;

importuoti java.sql.SQLException;

importuoti java.util.Properties;

importuoti java.util.concurrent.TimeUnit;

importuoti javax.imageio.ImageIO;

importuoti org.openqa.selenium.Pajėgumai;

import org.openqa.selenium.JavascriptExecutor;

importuoti org.openqa.selenium.OutputType;

importuoti org.openqa.selenium.TakesSclays;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.remote.RemoteWebDriver;

visuomenės klasė „ImageSave“ {

privatus statinis int imageSeqNo = 0;

privatus statinis Stygos scenarijus;

privati ​​statinė „WebDriver“ naršyklėDriver;

asmeninis statinis naršyklės plotis;

privatus statinis naršyklės aukštis;

vieša statinė eilutės naršyklė;

viešas statinis „WebDriver“ tvarkyklė;

viešas statinis intBrowserWidth () {

grįžti naršyklės plotis;

}

viešas statinis „getBrowserHeight“ () {

grįžti naršyklęSvečio;

}

vieša statinė eilutė getScenName () {

grąžinimo scenarijus;

}

viešas statinis int getImageSeqNo () {

grąžinti imageSeqNo;

}

public static void main (String [] args) išmeta išimtį {

// BrowserDriver.getCurrentDriver ();

}

public static void addSclays (WebDriver tvarkyklė) išmeta IOException,

ClassNotFoundException, InterruptedException {

baitas [] scrByte = getScreenShotBytes (tvarkyklė);

naršyklė = getBrowserAndVersion ();

String scenarioName = getScenName ();

String imageName = scenarijusName + ”“ + naršyklė + ”“

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

Failas scrFile = getScreenShotFile (tvarkyklė);

String screenWidthHeight = getImageWidthHeight (scrFile);

// jei norite išsaugoti ekrano nuotrauką vietos sistemoje, įjunkite žemiau esančią eilutę

// FileUtils.copyFile (scrFile, naujas failas („C: // ekrano kopija //” + imageName));

insertImageDB (scrByte, scenarijusName, imageName, screenWidthHeight,

naršyklė);

Thread.sleep (1000);

}

public static String getImageWidthHeight (File imageFile) išmeta IOException {

BufferedImage bimg = ImageIO.read (imageFile);

int imageWidth = bimg.getWidth ();

int imageHeight = bimg.getHeight ();

jei (imageWidth! = 0) {

grįžti imageWidth + “x” + imageHeight;

} Kitas {

grąžinti „FullScreenx“ + imageHeight;

}

}

viešas statinis failas getScreenShotFile („WebDriver“ tvarkyklė) {

// WebDriver driverA = naujas Augmenter ().

grįžti ((TakesSclays) tvarkyklė) .getSc pētniecībasAs (OutputType.FILE);

}

viešas statinis baitas [] getScreenShotBytes („WebDriver“ tvarkyklė) {

grįžti ((TakesSclays) tvarkyklė) .getSc pētniecībasAs (OutputType.BYTES);

}

public static void insertImageDB (baito [] imageByte, eilutės scenarijus,

String imageName, String screenWidthHeight, String naršyklė)

meta ClassNotFoundException {

Ypatybės dbProp = naujos ypatybės ();

InputStream dbPropInput = null;

ResultSet rs = null;

PreparedStatement ps = null;

Ryšys con = null;

// setImageSeqNo (getImageSeqNo () + 1);

int seqNo = getImageSeqNo ();

„System.out.println“ (scenos pavadinimas +) —- “+ naršyklė +” -

+ screenWidthHeight + “-„ Shot Number “:„ + SeqNo “;

bandyti {

String propPath = “. \ T

dbPropInput = naujas FileInputStream (propPath);

dbProp.load (dbPropInput); // įkelti turinio failą

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

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

String stPro = (dbProp.getProperty („SPSql“));

Class.forName (dbDriver);

con = DriverManager.getConnection (dbURL);

ps = con.prepareStatement (stPro);

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

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

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

ps.setEscapeProcessing (tiesa);

ps.setQueryTimeout (90); // timeout reikšmė gali būti išjungta vėliau, nuotrauka

ps.setString (1, „Projektas“);

ps.setString (2, scenarijus);

ps.setString (3, naršyklė);

ps.setString (4, screenWidthHeight);

ps.setTimestamp (5, sqlTimestamp);

ps.setInt (6, seqNo);

ps.setString (7, imageName);

ps.setBytes (8, imageByte);

// komentuoti žemiau eilutės, kad išjungtumėte duomenų bazės atnaujinimą

ps.executeUpdate ();

} sugauti (IOException e) {

e.printStackTrace ();

} sugauti (SQLException e) {

e.printStackTrace ();

} pagaliau {

bandyti {

jei (dbPropInput! = null)

dbPropInput.close ();

jei (rs! = null)

rs.close ();

jei (ps! = null)

ps.close ();

jei (con! = null)

con.close ();

} gaudyti (išimtis e) {

e.printStackTrace ();

}

}

}

viešas statinis String getBrowserAndVersion () {

String browser_version = null;

Galimybių dangtelis = ((RemoteWebDriver) tvarkyklė) .getCapabilities ();

String browserername = cap.getBrowserName ();

// Šis blokas, skirtas sužinoti IE versijos numerį

jei („Internet Explorer“ .equalsIgnoreCase (naršyklės vardas)) {

String uAgent = (String) ((JavascriptExecutor) tvarkyklė)

.executeScript („grįžti navigator.userAgent;“);

System.out.println (uAgent);

// uAgent grįžti kaip "MSIE 8.0 Windows" už IE8

jei (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”;

} Kitas {

browser_version = “00”;

}

} Kitas {

// „Firefox“ ir „Chrome“ naršyklės versija

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

}

Stringas naršyklės naršymas = naršyklės_versija.

browser_version.indexOf („.“));

String bVersion = String.format („% 02d“, „Integer.parseInt“ (naršyklės keitimas));

grįžti ((naršyklės vardas) + “_” + bVersion);

}

viešas statinis String browserNameConvert (String browser_name) {

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

naršyklės pavadinimas, „Explorer“)) {

grąžinti „IE“;

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

naršyklės pavadinimas, „firefox“)) {

grąžinti „FF“;

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

naršyklės pavadinimas, „chromo“)) {

grąžinti „CH“;

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

naršyklės pavadinimas, „safari“)) {

grąžinti „SF“;

} Kitas {

grąžinti „NA“;

}

}

}

MSSQL duomenų bazės ryšio nuosavybės failas su vartotojo kredencialais ir parduotuvės procedūra

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

dbDriver = com.microsoft.sqlserver.jdbc.SQLServerDriver

dbURL = jdbc: sqlserver: // YOURSERVERURL; duomenų bazė = DATABASENAME; vartotojas = USERNAME; slaptažodis = PASSWORD

SPSql = {skambinti STOREPROCEDURE (?, ?, ?, ?, ?, ?, ?, ?)}

Norėdami išsaugoti duomenų bazėje, šiame pavyzdyje jau sukurta parduotuvės procedūra ir visi šie duomenų bazės prijungimo ir saugojimo duomenys yra išvardyti nuosavybės faile.

Naršyklės pavadinimas, paverčiantis 2 paprastomis trumpomis formomis, tokiomis kaip FF (Firefox), CH („Chrome“) ir tt Tai taip pat gali rasti naršyklės versiją programiškai, įskaitant „Internet Explorer“ versijos numerį. Šis scenarijus palaiko „Internet Explorer“ versijas 8, 9, 10, 11.

Ankstesnis Straipsnis

8 „Cool“ „Google“ naujojo „Nexus6“ telefono, „Nexus9 Tablet“ ir „Google“ grotuvo savybės.

8 „Cool“ „Google“ naujojo „Nexus6“ telefono, „Nexus9 Tablet“ ir „Google“ grotuvo savybės.

Facebook „Twitter“ Pinterest WhatsApp Telegrama „Google“ pristatė naujus „Nexus“ šeimos įrenginius, kuriuose yra „Nexus 6“ telefonas, „Nexus 9“ tabletė ir „Nexus“ grotuvas, visi maitinami „Android Lollipop“. „Google“ pakeitė visą aparatūrą ir operacinę sistemą visoms šioms programoms, o ne išplėtė tą pačią technologiją į didesnį dydį. „Google“ pristatė „Android“ telefoną „Nexus 6“ su „...

Kitas Straipsnis

„Google“ laikrodis - kaip gauti „Google“ laikrodžio programą?

„Google“ laikrodis - kaip gauti „Google“ laikrodžio programą?

„Google“ laikrodis yra daugialypė programa, esanti „Android“ smartfonuose. Tai yra visur esanti funkcija, kurią galima rasti bet kokio tipo telefonuose. Išskyrus „Android“, „iOS“, senus „Symbion OS“ ar „Java“ maitinamus telefonus, visi turi laikrodžio programą. Nors visi šie laikrodžių tipai susideda iš skirtingų funkcijų, jie visi yra naudojami signalų nustatymui ir laiko rodymui iš kelių laiko zonų. „Google“ laikrodžio programa yra šiek...