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

Kas Tab jums patīk - Apple iPad Mini Vs Apple iPad Air Vs Nokia Lumia 2520 Vs Nexus 7

Kas Tab jums patīk - Apple iPad Mini Vs Apple iPad Air Vs Nokia Lumia 2520 Vs Nexus 7

2013. gada 22. oktobrī Apple atklāja savu iPad jaunāko iterāciju kā iPad Air. Pirms dažām Apple notikumu stundām, Nokia iepazīstināja ar savu pirmo tableti Lumia 2520. Apskatīsim iepriekš minēto ierīču specifikāciju salīdzinājumu ar slaveno Google Nexus 7. Apple arī papildināja iPad Mini versiju ar ļoti gaidīto tīklenes displeju kopā ar 64 bitu A7 procesoru. iPad Air un tīklene at...

Nākamais Raksts

Salīdzinājums starp iPhone 5 Vs Samsung Galaxy S3

Salīdzinājums starp iPhone 5 Vs Samsung Galaxy S3

iPhone 5 beidzot tiek palaists no Apple un vairs nav vietas baumām. Ļaujiet mums iet cauri diviem awesome produktiem šeit iPhone5 un Samsung Galaxy S3. Tā ir cīņa starp iOS un Android - labāko mobilo operētājsistēmu pasaulē. Ļaujiet mums iziet vairāk tehnisku informāciju, lai pieņemtu lēmumu par nākamo pirkumu. Apple un Samsun...