2 Објекти JavaScript ставке Browser-а

Преглед

Ова секција описује Zabbix додатке за JavaScript језик имплементиран са Duktape-ом за употребу у скрипти [Browser item] (/manual/config/items/itemtypes/browser). Ови додаци допуњују JavaScript објекте описане на страници [Додатни JavaScript објекти] (/manual/config/items/preprocessing/javascript/javascript_objects).

Прегледач

Објекат Browser управља сесијама WebDriver-а, иницијализујући сесију при креирању и прекидајући је при уништењу. Једна скрипта може да подржи до четири објекта Browser.

Да бисте конструисали објекат Browser, користите синтаксу new Browser(options). Параметар options (JSON објекат) одређује опције прегледача, обично резултат методе WebDriver options (на пример, Browser.chromeOptions()).

Следеће методе су подржане са објектом Browser.

Method Description
navigate(url) Навигација до наведеног URL-а.

Параметри:
url - (string) URL за навигацију.
getUrl() Враћа стринг URL-а отворене странице.
getPageSource() Враћа стринг отвореног изворног кода странице.
findElement(strategy, selector) Враћа објекат Element са једним елементом на отвореној страници (или враћа null ако се ниједан елемент не подудара са strategy и selector).

Параметри:
strategy - (стринг, CSS селектор/текст линка/делимични текст линка/назив ознаке/Xpath) Стратегија локације;
selector - (стринг) Селектор елемената користећи наведену стратегију локације.
findElements(strategy, target) Враћа низ објеката Element са више елемената на отвореној страници (или враћа празан низ ако се ниједан елемент не подудара са стратегијом локације и циљем).

Параметри:
strategy - (string, CSS селектор/текст линка/делимични текст линка/назив ознаке/Xpath) Стратегија локације;
target - (string) Селектор елемената који користи наведену стратегију локације.
getCookies() Враћа низ објеката Cookie.
addCookie(cookie) Поставља колачиће.

Параметри:
cookie - (Cookie објекат) Колачић за постављање.
getScreenshot() Враћа стринг кодиран у бази64 формату који представља слику приказног дела прегледача.

|setScreenSize(x,y)|Подесите величину приказног дела прегледача.

Параметри:
x - (string) Висина у пикселима;
y - (string) Ширина у пикселима.| |setScriptTimeout(timeout)|Подесите време чекања за учитавање скрипте.

Параметри:
timeout - (цео број) Вредност времена чекања у милисекундама.| |setSessionTimeout(timeout)|Подесите време чекања за сесију (учитавање странице).

Параметри:
timeout - (цео број) Вредност времена чекања у милисекундама.| |setElementWaitTimeout(timeout)|Подесите време чекања за стратегију локације елемента (имплицитно).

Параметри:
timeout - (цео број) Вредност времена чекања у милисекундама.| |collectPerfEntries(mark)|Прикупља уносе перформанси за преузимање помоћу методе getResult().

Параметри:
mark - (string, опционо) ознака снимка перформанси.| |getRawPerfEntries()|Враћа низ објеката уноса перформанси.| |getResult()|Враћа објекат Result са статистиком сесије прегледача (информације о грешкама, снимци перформанси, итд.).| |getError()|Враћа објекат BrowserError са грешкама прегледача (или враћа null ако нема грешака прегледача).| |setError(message)|Поставља прилагођену поруку о грешци која ће бити укључена у објекат Result.

Параметри:
message - (string) Порука о грешци.| |discardError()|Одбаци грешку која ће бити враћена у објекту Result.| |getAlert()|Врати објекат Alert са упозорењима прегледача (или врати null ако нема упозорења прегледача).| |chromeOptions()|Врати објекат chromeOptions са унапред дефинисаним опцијама прегледача Chrome.| |firefoxOptions()|Врати објекат firefoxOptions са унапред дефинисаним опцијама прегледача Firefox.| |safariOptions()|Врати објекат safariOptions са унапред дефинисаним опцијама прегледача Safari.| |edgeOptions()|Врати објекат edgeOptions са унапред дефинисаним опцијама прегледача Edge.| |switchFrame(target)| Пребаци на наведени оквир.

Параметри:
target - (елемент прегледача или цео број, опционо) Циљни оквир. Да бисте изабрали оквир по елемент, проследите елемент. Да бисте изабрали оквир по индексу, проследите број. Ако се остави празно, пребациће се на контекст прегледања највишег нивоа. |

Све методе прегледача могу да избаце следеће грешке:

  • BrowserError - изведено из објекта Error који се избацује ако конструктор Browser не успе; садржи додатно својство browser са објектом Browser који је избацио ову BrowserError.
  • WebdriverError - изведено из BrowserError; садржи иста својства као објекат BrowserError, која указују да ли је грешка генерисана као одговор на грешку у одговору WebDriver-а.

Елемент

Објекат Element се враћа од стране Browser објекта методама findElement()/findElements() и не може се директно конструисати.

Објекат Element представља елемент на веб страници и обезбеђује методе за интеракцију са њим.

Следеће методе су подржане са објектом Element.

Method Description
getAttribute(name) Враћа вредност атрибута атрибута елемента (или враћа null ако наведени атрибут није пронађен).

Параметри:
name - (стринг) Име атрибута.
getProperty(name) Враћа вредност својства елемента (или враћа null ако наведени атрибут није пронађен).

Параметри:
name - (стринг) Назив својства.
getText() Враћа стринг текстуалне вредности текста елемента.
click() Кликните на елемент.
clear() Очистити садржај елемента који се може уређивати.
sendKeys(keys) Шаље кључеве.

Параметри:
keys - (стринг) Кључеви за слање.

Колачић

Објекат Cookie враћа метод getCookies() објекта Browser и прослеђује се методи addCookie().

Иако објекат Cookie нема методе, може да садржи следећа својства:

Property Type Description
name string Назив колачића.
value string Вредност колачића.
path string Путања за коју је колачић важећи.
Подразумевано је "/" ако се изостави приликом додавања колачића.
domain string Домен за који је колачић видљив.
Подразумевано је URL домен активног документа тренутног контекста прегледања сесије ако се изостави приликом додавања колачића.
secure boolean Означава да ли је колачић безбедан.
Подразумевано је false ако се изостави приликом додавања колачића.
httpOnly boolean Означава да ли је колачић само за HTTP.
Подразумевана вредност је false ако се изостави приликом додавања колачића.
expiry integer Време истека колачића (у секундама од Unix Epoch). Не сме се подесити ако се изостави приликом додавања колачића.
sameSite string Атрибут sameSite колачића, који контролише да ли колачић треба да буде ограничен на контекст прве стране или истог сајта.
Може се подесити на "Lax" или "Strict".
Подразумевана вредност је "None" ако се изостави приликом додавања колачића.

Упозорење

Објекат Alert представља упозорење веб странице, враћа га метода getAlert() објекта Browser и не може се директно конструисати.

Објекат Alert садржи својство text са текстом упозорења (или null ако нема упозорења).

Следеће методе су подржане са објектом Alert.

Method Description
accept() Прихвата упозорење.
dismiss() Одбацује упозорење.

Резултат

Објекат Result садржи статистику сесије и враћа га метода getResult() објекта Browser.

Типично, објекат Result се стрингује и враћа из скрипте, а затим се анализира у зависне вредности ставки путем претходне обраде.

Иако објекат Result нема никакве методе, може да садржи следећа својства.

Property Type Description
duration string Трајање сесије од креирања сесије до преузимања резултата.
error object Информације о грешци.
http_status integer HTTP статус који враћа WebDriver (или 0 ако нема грешака WebDriver-а).
error_code string Грешка коју враћа WebDriver (или празан стринг ако нема грешака WebDriver-а).
message string Порука о грешци WebDriver-а (или празан стринг ако нема грешака WebDriver-а).
performance_data object Статистика перформанси.
summary object Резиме перформанси.
navigation object Резиме навигације.
resource object Резиме ресурса.
details array of objects Статистика перформанси након сваке операције која је могла довести до навигације.
mark string (опционо) Ознака снимка перформанси наведена методом collectPerfEntries().
navigation object Статистика навигације.
resource object Резиме ресурса за овај корак.
user array of objects Низ статистика типа ознака/мера.
marks array of objects Индекси означених снимака перформанси.
name string Назив ознаке снимка перформанси.
index integer Индекс снимка перформанси у низу детаља.