Kā lietot Ekrānuzņēmumu un saglabāt MSSQL datubāzē, izmantojot Java un Selenium Webriver



Tas ir jāņem Ekrānuzņēmums, izmantojot Selenium Webdriver un saglabāt MS SQL datu bāzē. Attēls tiek saglabāts datu bāzē ar attēla nosaukumu, kas pievienots pārlūkprogrammas nosaukumam, pārlūkprogrammas versijai, secības numuram un scenārija nosaukumam. Šis kods tiek atbalstīts pārlūkā Chrome, Firefox, Internet Explorer un Safari.

Lai saglabātu attēlu vietējā mapē, ja vēlaties, ir vēl viena opcija starp līniju 63-70. Vietējā sistēmā varat iestatīt mapi, un tas saglabās attēlu mapē, kuru norādījāt png formātā un baitu formātā MSSql datu bāzē.

Veikt Screenshot un saglabājiet MSSQL datu bāzē, izmantojot Java un Selenium Webriver

pakete com.main;

importēt java.awt.image.BufferedImage;

importēt java.io.File;

importēt java.io.FileInputStream;

importēt java.io.IOException;

importēt java.io.InputStream;

importēt java.sql.Connection;

importēt java.sql.DriverManager;

importēt java.sql.PreparedStatement;

importēt java.sql.ResultSet;

importēt java.sql.SQLException;

importēt java.util.Properties;

importēt java.util.concurrent.TimeUnit;

importēt javax.imageio.ImageIO;

importa org.openqa.selenium.Kapitāla;

import org.openqa.selenium.JavascriptExecutor;

importēt org.openqa.selenium.OutputType;

importēt org.openqa.selenium.TakesSclays;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.remote.RemoteWebDriver;

publiskās klases ImageSave {

privāts statisks int imageSeqNo = 0;

privāta statiskā virknes scenārija nosaukums;

privātais statiskais WebDriver pārlūksDriver;

privāts statisks int pārlūkprogrammas platums;

privāta statiskā pārlūka augstums;

publiska statiskā pārlūka;

publisks statisks WebDriver draiveris;

publisks statisks intBrowserWidth () {

atgriezties pārlūkprogrammas platums;

}

publisks statisks introBrowserHeight () {

atgriezties pārlūkprogrammā;

}

publiskā statiskā virkne getScenName () {

atgriešanās scenārijs;

}

publisks statisks int getImageSeqNo () {

atgriezties imageSeqNo;

}

public static void main (String [] args) throws Izņēmums {

// BrowserDriver.getCurrentDriver ();

}

public static void addScraph (WebDriver draiveris) izgaismo IOException,

ClassNotFoundException, pārtraukta atkāpe {

baits [] scrByte = getScreenShotBytes (vadītājs);

pārlūks = getBrowserAndVersion ();

String scenarioName = getScenName ();

String imageName = scenārijsName + ”” + pārlūks + ””

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

File scrFile = getScreenShotFile (draiveris);

String screenWidthHeight = getImageWidthHeight (scrFile);

// ja vēlaties saglabāt ekrāna kadru attēlu vietējā sistēmā, iespējojiet rindu zemāk

// FileUtils.copyFile (scrFile, jauns fails (“C: // screenshot //” + imageName));

insertImageDB (scrByte, scenārijsName, imageName, screenWidthHeight,

pārlūks);

Thread.sleep (1000);

}

public static String getImageWidthHeight (File imageFile) met IOException {

BufferedImage bimg = ImageIO.read (imageFile);

int imageWidth = bimg.getWidth ();

int imageHeight = bimg.getHeight ();

ja (imageWidth! = 0) {

atgriešanās imageWidth + “x” + imageHeight;

} cits {

atgriezties “FullScreenx” + imageHeight;

}

}

publisks statisks fails getScreenShotFile (WebDriver draiveris) {

// WebDriver draiverisA = jauns Augmenters ().

atgriezties ((TakesSclays) draiveris) .getSc pētniecībasAs (OutputType.FILE);

}

publisks statiskais baits [] getScreenShotBytes (WebDriver draiveris) {

atgriezties ((TakesSclays) draiveris) .getSc pētniecībasAs (OutputType.BYTES);

}

public static void insertImageDB (baits [] imageByte, String scenārijs,

String imageName, String screenWidthHeight, String pārlūks)

throws ClassNotFoundException {

Rekvizīti dbProp = jauni rekvizīti ();

InputStream dbPropInput = null;

ResultSet rs = null;

PreparedStatement ps = null;

Savienojuma kon = null;

// setImageSeqNo (getImageSeqNo () + 1);

int seqNo = getImageSeqNo ();

System.out.println (scenName +) —- “+ pārlūks +” --- ”

+ screenWidthHeight + ”—- Shot Number:“ + Shot Number: ”+ seqNo);

mēģiniet {

String propPath = ". \ T

dbPropInput = jauns FileInputStream (propPath);

dbProp.load (dbPropInput); // ielādes īpašuma fails

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 datums = jauns java.util.Date ();

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

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

ps.setEscapeProcessing (true);

ps.setQueryTimeout (90); // timeout vērtība var atspējot vēlāk, attēlu

ps.setString (1, “Projekts”);

ps.setString (2, scenārijs);

ps.setString (3, pārlūks);

ps.setString (4, screenWidthHeight);

ps.setTimestamp (5, sqlTimestamp);

ps.setInt (6, seqNo);

ps.setString (7, imageName);

ps.setBytes (8, imageByte);

// komentārs zem rindas, lai atspējotu datu bāzes atjaunināšanu

ps.executeUpdate ();

} nozvejas (IOException e) {

e.printStackTrace ();

} nozvejas (SQLException e) {

e.printStackTrace ();

} beidzot {

mēģiniet {

ja (dbPropInput! = null)

dbPropInput.close ();

ja (rs! = null)

rs.close ();

ja (ps! = null)

ps.close ();

ja (con! = null)

con.close ();

} nozvejas (izņēmums e) {

e.printStackTrace ();

}

}

}

publiskā statiskā virkne getBrowserAndVersion () {

String browser_version = null;

Iespējas cap = ((RemoteWebDriver) draiveris) .getCapabilities ();

String browserername = cap.getBrowserName ();

// Šis bloks, lai uzzinātu IE versijas numuru

ja (“Internet Explorer” .equalsIgnoreCase (pārlūkprogrammas nosaukums)) {

String uAgent = (String) ((JavascriptExecutor) draiveris)

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

System.out.println (uAgent);

// uAgent atgriežas kā “MSIE 8.0 Windows” par IE8

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

} cits {

browser_version = “00”;

}

} cits {

// pārlūkprogrammas versija pārlūkprogrammai Firefox un Chrome

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

}

String pārlūkošanas versija = browser_version.substring (0,

browser_version.indexOf (“.”));

String bVersion = String.format (“% 02d”, Integer.parseInt (pārlūkprogramma);

atgriešanās ((pārlūkprogrammas nosaukums) + “_” + bVersion);

}

publiskā statiskā String browserNameConvert (String browser_name) {

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

pārlūkprogrammas nosaukums, “pētnieks”)) {

atgriezties “IE”;

} cits, ja (org.apache.commons.lang3.StringUtils.containsIgnoreCase (

pārlūkprogrammas nosaukums, “firefox”)) {

atgriezties „FF”;

} cits, ja (org.apache.commons.lang3.StringUtils.containsIgnoreCase (

pārlūkprogrammas nosaukums, “hroms”)) {

atgriezties “CH”;

} cits, ja (org.apache.commons.lang3.StringUtils.containsIgnoreCase (

pārlūkprogrammas nosaukums, “safari”)) {

atgriezties “SF”;

} cits {

atgriezties „NA”;

}

}

}

MSSQL datu bāzes savienojuma rekvizīta fails ar lietotāja akreditācijas datiem un veikalu procedūru

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

dbDriver = com.microsoft.sqlserver.jdbc.SQLServerDriver

dbURL = jdbc: sqlserver: // YOURSERVERURL; datu bāze = DATABASENAME; lietotājs = USERNAME; parole = PASSWORD

SPSql = {zvans STOREPROCEDŪRA (?, ?, ?, ?, ?, ?, ?, ?)}

Lai saglabātu datubāzē, šajā piemērā jau izveidotā veikalu procedūra un visi šie datu bāzes savienojuma un veikalu procedūras dati ir uzskaitīti īpašuma failā.

Pārlūkprogrammas nosaukums, kas pārvērš 2 īsu formu, piemēram, FF (Firefox), CH (Chrome), utt. Tas arī spēj atrast pārlūkprogrammas versiju programmiski, ieskaitot Internet Explorer versijas numuru. Šis skripts atbalsta Internet Explorer 8, 9, 10, 11 versijas.

Iepriekšējais Raksts

7 Best Stock Simulator Apps priekš iPhone, lai veiktu tirdzniecību

7 Best Stock Simulator Apps priekš iPhone, lai veiktu tirdzniecību

Jauni ieguldītāji, pirms sākat tirdzniecību un tērēt naudu, ir virtuālās akciju tirdzniecības programmas iPhone lietotājiem. Šīs lietotnes sniedz virtuālu naudu akciju tirdzniecībai. Jebkura cenšas akciju tirgotājs var izmantot akciju tirgus spēļu lietotnes funkcijas, lai iegūtu zināšanas par akciju tirdzniecību. Akciju simulatora sp...

Nākamais Raksts

6 Bezmaksas iPhone Radio Player Apps, lai klausītos vietējo FM & AM

6 Bezmaksas iPhone Radio Player Apps, lai klausītos vietējo FM & AM

Facebook Čivināt Pinterest WhatsApp Telegramma Interneta radio ir pirkstu galā, izmantojot iOS radio atskaņotāju lietotnes. Pat ja jūs esat prom no mājām, varat izbaudīt iecienītākās vietējās radio stacijas, izmantojot viedtālruni. Ir daudz lielisku lietotņu, kas ir pieejamas, lai atskaņotu vietējās radio stacijas gan iPhone, gan iPad. Šīs radio lietotn...