
Ово је за снимање екрана користећи Селениум Вебдривер и за спремање у МС СКЛ Датабасе. Слика се чува у бази података са именом слике која се додаје са именом прегледача, верзијом прегледача, редним бројем и именом сценарија. Овај код подржава Цхроме, Фирефок, Интернет Екплорер и Сафари.
Постоји још једна опција између линије 63-70 да бисте сачували слику у локалном фолдеру ако желите. Можете поставити мапу у локалном систему и спремити слику у мапу коју сте навели у пнг формату и бајт формату у МССкл бази података.
Снимите снимак екрана и снимите у МССКЛ базу података користећи Јава и Селениум Вебривер
пацкаге цом.маин;
импорт јава.авт.имаге.БуффередИмаге;
импорт јава.ио.Филе;
импорт јава.ио.ФилеИнпутСтреам;
импорт јава.ио.ИОЕкцептион;
импорт јава.ио.ИнпутСтреам;
импорт јава.скл.Цоннецтион;
импорт јава.скл.ДриверМанагер;
импорт јава.скл.ПрепаредСтатемент;
импорт јава.скл.РесултСет;
импорт јава.скл.СКЛЕкцептион;
импорт јава.утил.Пропертиес;
импорт јава.утил.цонцуррент.ТимеУнит;
импорт јавак.имагеио.ИмагеИО;
импорт орг.опенка.селениум.Цапабилитиес;
импорт орг.опенка.селениум.ЈавасцриптЕкецутор;
импорт орг.опенка.селениум.ОутпутТипе;
импорт орг.опенка.селениум.ТакесСцреенсхот;
импорт орг.опенка.селениум.ВебДривер;
импорт орг.опенка.селениум.ремоте.РемотеВебДривер;
публиц цласс ИмагеСаве {
привате статиц инт имагеСекНо = 0;
привате статиц Стринг сценНаме;
привате статиц ВебДривер бровсерДривер;
привате статиц инт бровсерВидтх;
привате статиц инт бровсерХеигхт;
публиц статиц Стринг бровсер;
публиц статиц ВебДривер дривер;
публиц статиц инт гетБровсерВидтх () {
ретурн бровсерВидтх;
}
публиц статиц инт гетБровсерХеигхт () {
ретурн бровсерХеигхт;
}
публиц статиц Стринг гетСценНаме () {
ретурн сценНаме;
}
публиц статиц инт гетИмагеСекНо () {
ретурн имагеСекНо;
}
публиц статиц воид маин (Стринг [] аргс)
// БровсерДривер.гетЦуррентДривер ();
}
публиц статиц воид аддСцреенсхот (ВебДривер драјвер) баца ИОЕкцептион,
ЦлассНотФоундЕкцептион, ИнтерруптедЕкцептион {
бајт [] сцрБите = гетСцреенСхотБитес (дривер);
бровсер = гетБровсерАндВерсион ();
Стринг сценариоНаме = гетСценНаме ();
Стринг имагеНаме = сценариоНаме + ”” + прегледач + ””
+ Систем.цуррентТимеМиллис () + “.пнг”;
Датотека сцрФиле = гетСцреенСхотФиле (дривер);
Стринг сцреенВидтхХеигхт = гетИмагеВидтхХеигхт (сцрФиле);
// ако желите да сачувате слику екрана у локалном систему, омогућите линију испод
// ФилеУтилс.цопиФиле (сцрФиле, нова датотека (“Ц: // сцреенсхот //” + имагеНаме));
инсертИмагеДБ (сцрБите, сценариоНаме, имагеНаме, сцреенВидтхХеигхт,
прегледач);
Тхреад.слееп (1000);
}
публиц статиц Стринг гетИмагеВидтхХеигхт (Датотека са сликом) баца ИОЕкцептион {
БуффередИмаге бимг = ИмагеИО.реад (имагеФиле);
инт имагеВидтх = бимг.гетВидтх ();
инт имагеХеигхт = бимг.гетХеигхт ();
ако (имагеВидтх! = 0) {
ретурн имагеВидтх + “к” + имагеХеигхт;
} елсе {
повратак “ФуллСцреенк” + имагеХеигхт;
}
}
публиц статиц Датотека гетСцреенСхотФиле (ВебДривер дривер) {
// ВебДривер дриверА = нев Аугментер (). Аугмент (дривер);
ретурн ((ТакесСцреенсхот) драјвер) .гетСцреенсхотАс (ОутпутТипе.ФИЛЕ);
}
јавни статички бајт [] гетСцреенСхотБитес (ВебДривер дривер) {
ретурн ((ТакесСцреенсхот) драјвер) .гетСцреенсхотАс (ОутпутТипе.БИТЕС);
}
публиц статиц воид инсертИмагеДБ (бајт [] имагеБите, Стринг сценНаме,
Стринг имагеНаме, Стринг сцреенВидтхХеигхт, Стринг бровсер)
тхровс ЦлассНотФоундЕкцептион {
Својства дбПроп = нев Пропертиес ();
ИнпутСтреам дбПропИнпут = нулл;
РесултСет рс = нулл;
ПрепаредСтатемент пс = нулл;
Цоннецтион цон = нулл;
// сетИмагеСекНо (гетИмагеСекНо () + 1);
инт секНо = гетИмагеСекНо ();
Систем.оут.принтлн (сценНаме + ”—-“ + бровсер + ”—-“
+ сцреенВидтхХеигхт + ”—- Број снимка:” + секНо);
покушати {
Стринг пропПатх = “.
дбПропИнпут = нови ФилеИнпутСтреам (пропПатх);
дбПроп.лоад (дбПропИнпут); // учитава датотеку својстава
Стринг дбДривер = (дбПроп.гетПроперти (“дбДривер”));
Стринг дбУРЛ = (дбПроп.гетПроперти (“дбУРЛ”));
Стринг стПро = (дбПроп.гетПроперти (“СПСкл”));
Цласс.форНаме (дбДривер);
цон = ДриверМанагер.гетЦоннецтион (дбУРЛ);
пс = цон.препареСтатемент (стПро);
јава.утил.Дате дате = нев јава.утил.Дате ();
јава.скл.Тиместамп склТиместамп = нев јава.скл.Тиместамп (дате.гетТиме ());
Систем.оут.принтлн (“Имаге Тиместамп =” + склТиместамп);
пс.сетЕсцапеПроцессинг (труе);
пс.сетКуериТимеоут (90); // вредност тимеоут-а може да се онемогући касније, слика
пс.сетСтринг (1, “Пројекат”);
пс.сетСтринг (2, сценНаме);
пс.сетСтринг (3, бровсер);
пс.сетСтринг (4, сцреенВидтхХеигхт);
пс.сетТиместамп (5, склТиместамп);
пс.сетИнт (6, секНо);
пс.сетСтринг (7, имагеНаме);
пс.сетБитес (8, имагеБите);
// коментар испод линије да онемогући ажурирање базе података
пс.екецутеУпдате ();
} цатцх (ИОЕкцептион е) {
е.принтСтацкТраце ();
} цатцх (СКЛЕкцептион е) {
е.принтСтацкТраце ();
} коначно {
покушати {
ако (дбПропИнпут! = нулл)
дбПропИнпут.цлосе ();
ако (рс! = нулл)
рс.цлосе ();
ако (пс! = нулл)
пс.цлосе ();
ако (цон! = нулл)
цон.цлосе ();
} цатцх (Екцептион е) {
е.принтСтацкТраце ();
}
}
}
публиц статиц Стринг гетБровсерАндВерсион () {
Стринг бровсер_версион = нулл;
Цапабилитиес цап = ((РемотеВебДривер) дривер) .гетЦапабилитиес ();
Стринг бровсернаме = цап.гетБровсерНаме ();
// Овај блок за проналажење броја ИЕ верзије
иф (“интернет екплорер” .екуалсИгнореЦасе (бровсернаме)) {
Стринг уАгент = (Стринг) ((ЈавасцриптЕкецутор) управљачки програм)
.екецутеСцрипт (“ретурн навигатор.усерАгент;”);
Систем.оут.принтлн (уАгент);
// уАгент врати као “МСИЕ 8.0 Виндовс” за ИЕ8
ако (уАгент.цонтаинс (“МСИЕ”) && уАгент.цонтаинс (“Виндовс”)) {
бровсер_версион = уАгент.субстринг (уАгент.индекОф (“МСИЕ”) + 5,
уАгент.индекОф (“Виндовс”) - 2);
} друго ако (уАгент.цонтаинс (“Тридент / 7.0”)) {
бровсер_версион = “11.0”;
} елсе {
бровсер_версион = “00”;
}
} елсе {
// Верзија претраживача за Фирефок и Цхроме
бровсер_версион = цап.гетВерсион (); // .сплит (“.”) [0];
}
Стринг бровсерверсион = бровсер_версион.субстринг (0,
бровсер_версион.индекОф (“.”));
Стринг бВерсион = Стринг.формат ("% 02д", Интегер.парсеИнт (бровсерверсион));
повратак ((име корисника) + “_” + бВерсион);
}
публиц статиц Стринг бровсерНамеЦонверт (Стринг бровсер_наме) {
иф (орг.апацхе.цоммонс.ланг3.СтрингУтилс.цонтаинсИгнореЦасе (
бровсер_наме, “екплорер”)) {
врати “ИЕ”;
} елсе иф (орг.апацхе.цоммонс.ланг3.СтрингУтилс.цонтаинсИгнореЦасе (
бровсер_наме, “фирефок”)) {
повратак “ФФ”;
} елсе иф (орг.апацхе.цоммонс.ланг3.СтрингУтилс.цонтаинсИгнореЦасе (
бровсер_наме, “цхроме”)) {
повратак “ЦХ”;
} елсе иф (орг.апацхе.цоммонс.ланг3.СтрингУтилс.цонтаинсИгнореЦасе (
бровсер_наме, “сафари”)) {
повратак “СФ”;
} елсе {
повратак “НА”;
}
}
}
МССКЛ база података за повезивање базе података са корисничким акредитивима и процедуром складиштења
################## дбЦоннецт.пропертиес ##################
дбДривер = цом.мицрософт.склсервер.јдбц.СКЛСерверДривер
дбУРЛ = јдбц: склсервер: // ИОУРСЕРВЕРУРЛ; датабасе = ДАТАБАСЕНАМЕ; усер = УСЕРНАМЕ; лозинка = ПАССВОРД
СПСкл = {цалл СТОРЕПРОЦЕДУРЕ (?, ?, ?, ?, ?, ?, ?, ?)?
Да бисте сачували у бази података, процедура за складиштење је већ креирана у овом примеру и сви ови подаци за повезивање базе података и процедура складиштења наведени су у датотеци својстава.
Име претраживача претвара се у 2 кратке форме као што су ФФ (Фирефок), ЦХ (Цхроме) итд. Ово је такође у могућности да пронађе верзију претраживача програмски укључујући број верзије Интернет Екплорера. Ова скрипта подржава Интернет Екплорер верзије 8, 9, 10, 11.