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

Geriausios „iOS“ vaizdo įrašų redaktoriaus programos „iPhone“ ir „iPad“

Geriausios „iOS“ vaizdo įrašų redaktoriaus programos „iPhone“ ir „iPad“

„IPhone“ fotoaparatas yra pakankamai galingas vaizdams ir vaizdo įrašams. Geriausios vaizdo redagavimo programos ir galingos „iPhone“ kameros pagalba galite sukurti stebuklus. Net „iOS“ neturi jokių galingų vaizdo redagavimo funkcijų, trečiosios šalies „iPhone“ vaizdo redagavimo programos yra tinkamos vaizdo įrašams redaguoti, sumaišyti su muzika ir įterpti papildomus vaizdo efektus. Kaip žinote, „iPhone“ fot...

Kitas Straipsnis

Kaip atsisiųsti „Netflix“ filmus ir televizijos laidas.

Kaip atsisiųsti „Netflix“ filmus ir televizijos laidas.

Facebook „Twitter“ Pinterest WhatsApp Telegrama Netflix stebėjimas savaitgalio popietėje yra populiarus praeitis daugeliui. Viskas ko jums reikia, yra geras interneto ryšys, „Netflix“ paskyros prenumerata, kai kurie popkornai, galbūt jūsų mėgstamų (nesveikų) lustų pakuotė, o kai kurie alaus, kad galėtumėte plauti. Problema ta, kad ne...