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

Išbandytas ir išbandytas „Pen Drive Data Recovery“ sprendimas

Išbandytas ir išbandytas „Pen Drive Data Recovery“ sprendimas

Facebook „Twitter“ Pinterest WhatsApp Telegrama Duomenų atkūrimas atliekant rašiklius yra lengviau nei bet kada. Šiuo metu yra daugybė programų, kurios gali atkurti duomenis iš visų šaltinių. Nors ne visi gali patenkinti jūsų reikalavimus. Jūsų patogumui, mes sugalvojome išbandytą ir išbandytą sprendimą, kad galėtume išgauti duomenų surinkimą ir gauti teigiamų rezultatų. Skaitykite ir sužinokite, k...

Kitas Straipsnis

Kaip padaryti nemokamą telefono skambutį ir siųsti tekstinį pranešimą iš MAC?

Kaip padaryti nemokamą telefono skambutį ir siųsti tekstinį pranešimą iš MAC?

„Google Voice“ ir „Growl Voice“ derinys yra geriausias pasirinkimas, jei naudojate tekstinius / SMS pranešimus savo verslo ar asmeniniam naudojimui. „Google Voice“ nemokamai galite skambinti ir tekstą iš savo MAC į bet kurį JAV ir Kanados telefoną. Šią pačią funkciją galite naudoti iš savo MAC su galiojančiu „Google Voice“ numeriu ir „Growl Voice“ programa. Jei neturite „Google“ balso pas...