2 Pārlūka vienuma JavaScript objekti

Pārskats

Šajā sadaļā ir aprakstīti Zabbix papildinājumi JavaScript valodai, kas ieviesti ar Duktape izmantošanai Pārlūka vienuma skriptā. Šie papildinājumi papildina JavaScript objektus, kas aprakstīti lapā Papildu JavaScript objekti.

Browser

Objekts Browser pārvalda WebDriver sesijas, inicializējot sesiju izveides brīdī un pārtraucot to iznīcināšanas brīdī. Viens skripts var atbalstīt līdz četriem Browser objektiem.

Lai izveidotu Browser objektu, izmantojiet sintaksi new Browser(options). Parametrs options (JSON object) norāda pārlūka opcijas, parasti WebDriver opciju metodes rezultātu (piemēram, Browser.chromeOptions()).

Ar Browser objektu tiek atbalstītas šādas metodes.

Method Description
navigate(url) Pāriet uz norādīto URL.

Parametri:
url - (string) URL, uz kuru pāriet.
getUrl() Atgriež atvērtās lapas URL kā virkni.
getPageSource() Atgriež atvērtās lapas pirmkodu kā virkni.
findElement(strategy, selector) Atgriež Element objektu ar vienu elementu atvērtajā lapā (vai atgriež null, ja neviens elements neatbilst strategy un selector).

Parametri:
strategy - (string, css selector/link text/partial link text/tag name/xpath) Atrašanās vietas stratēģija;
selector - (string) Elementa selektors, izmantojot norādīto atrašanās vietas stratēģiju.
findElements(strategy, target) Atgriež Element objektu masīvu ar vairākiem elementiem atvērtajā lapā (vai atgriež tukšu masīvu, ja neviens elements neatbilst atrašanās vietas stratēģijai un mērķim).

Parametri:
strategy - (string, css selector/link text/partial link text/tag name/xpath) Atrašanās vietas stratēģija;
target - (string) Elementa selektors, izmantojot norādīto atrašanās vietas stratēģiju.
getCookies() Atgriež Cookie objektu masīvu.
addCookie(cookie) Iestata sīkdatnes.

Parametri:
cookie - (Cookie object) Iestatāmā sīkdatne.
getScreenshot() Atgriež base64 kodētu virkni, kas attēlo pārlūka skata apgabala attēlu.
setScreenSize(x,y) Iestata pārlūka skata apgabala izmēru.

Parametri:
x - (string) Platums pikseļos;
y - (string) Augstums pikseļos.
setScriptTimeout(timeout) Iestata skripta ielādes noildzi.

Parametri:
timeout - (integer) Noildzes vērtība milisekundēs.
setSessionTimeout(timeout) Iestata sesijas (lapas ielādes) noildzi.

Parametri:
timeout - (integer) Noildzes vērtība milisekundēs.
setElementWaitTimeout(timeout) Iestata elementa atrašanās vietas stratēģijas (netiešo) noildzi.

Parametri:
timeout - (integer) Noildzes vērtība milisekundēs.
collectPerfEntries(mark) Savāc veiktspējas ierakstus, ko izgūt ar metodi getResult().

Parametri:
mark - (string, optional) veiktspējas momentuzņēmuma atzīme.
getRawPerfEntries() Atgriež veiktspējas ierakstu objektu masīvu.
getResult() Atgriež Result objektu ar pārlūka sesijas statistiku (kļūdu informāciju, veiktspējas momentuzņēmumiem u.c.).
getError() Atgriež BrowserError objektu ar pārlūka kļūdām (vai atgriež null, ja pārlūka kļūdu nav).
setError(message) Iestata pielāgotu kļūdas ziņojumu, kas tiks iekļauts Result objektā.

Parametri:
message - (string) Kļūdas ziņojums.
discardError() Atmet kļūdu, kas tiks atgriezta Result objektā.
getAlert() Atgriež Alert objektu ar pārlūka brīdinājumiem (vai atgriež null, ja pārlūka brīdinājumu nav).
chromeOptions() Atgriež chromeOptions objektu ar iepriekš definētām Chrome pārlūka opcijām.
firefoxOptions() Atgriež firefoxOptions objektu ar iepriekš definētām Firefox pārlūka opcijām.
safariOptions() Atgriež safariOptions objektu ar iepriekš definētām Safari pārlūka opcijām.
edgeOptions() Atgriež edgeOptions objektu ar iepriekš definētām Edge pārlūka opcijām.
switchFrame(target) Pārslēdzas uz norādīto rāmi.

Parametri:
target - (browser element or integer, optional) Mērķa rāmis. Lai atlasītu rāmi pēc elementa, nododiet elementu. Lai atlasītu rāmi pēc indeksa, nododiet skaitli. Ja atstāts tukšs, tiks pārslēgts uz augstākā līmeņa pārlūkošanas kontekstu.

Visas Browser metodes var izraisīt šādas kļūdas:

  • BrowserError - atvasināts no objekta Error, kas tiek izraisīts, ja Browser konstruktors neizdodas; satur papildu rekvizītu browser ar Browser objektu, kas izraisīja šo BrowserError.
  • WebdriverError - atvasināts no BrowserError; satur tās pašas īpašības kā objekts BrowserError, kas norāda, vai kļūda tika ģenerēta, reaģējot uz kļūdu WebDriver atbildē.

Elements

Element objekts tiek atgriezts ar Browser objekta findElement()/findElements() metodēm, un to nevar izveidot tieši.

Element objekts attēlo elementu tīmekļa lapā un nodrošina metodes mijiedarbībai ar to.

Ar Element objektu tiek atbalstītas šādas metodes.

Method Description
getAttribute(name) Atgriež elementa atribūta vērtības virkni (vai atgriež null, ja norādītais atribūts netika atrasts).

Parametri:
name - (string) Atribūta nosaukums.
getProperty(name) Atgriež elementa īpašības vērtības virkni (vai atgriež null, ja norādītā īpašība netika atrasta).

Parametri:
name - (string) Īpašības nosaukums.
getText() Atgriež elementa teksta vērtības virkni.
click() Noklikšķina uz elementa.
clear() Notīra rediģējama elementa saturu.
sendKeys(keys) Nosūta taustiņus.

Parametri:
keys - (string) Nosūtāmie taustiņi.

Objektu Cookie atgriež objekta Browser metode getCookies(), un tas tiek nodots metodei addCookie().

Lai gan objektam Cookie nav metožu, tas var saturēt šādas īpašības:

Īpašība Type Apraksts
name string Sīkdatnes nosaukums.
value string Sīkdatnes vērtība.
path string Ceļš, kuram sīkdatne ir derīga.
Ja, pievienojot sīkdatni, tas nav norādīts, pēc noklusējuma tiek izmantots "/".
domain string Domēns, kurā sīkdatne ir redzama.
Ja, pievienojot sīkdatni, tas nav norādīts, pēc noklusējuma tiek izmantots sesijas pašreizējā pārlūkošanas konteksta aktīvā dokumenta URL domēns.
secure boolean Norāda, vai sīkdatne ir droša.
Ja, pievienojot sīkdatni, tas nav norādīts, pēc noklusējuma tiek izmantots false.
httpOnly boolean Norāda, vai sīkdatne ir tikai HTTP.
Ja, pievienojot sīkdatni, tas nav norādīts, pēc noklusējuma tiek izmantots false.
expiry integer Sīkdatnes derīguma termiņš (sekundēs kopš Unix laikmeta sākuma). To nedrīkst iestatīt, ja, pievienojot sīkdatni, tas nav norādīts.
sameSite string Sīkdatnes atribūts sameSite, kas nosaka, vai sīkdatnei jābūt ierobežotai līdz pirmās puses vai tās pašas vietnes kontekstam.
Var iestatīt uz "Lax" vai "Strict".
Ja, pievienojot sīkdatni, tas nav norādīts, pēc noklusējuma tiek izmantots "None".

Brīdinājums

Objekts Alert attēlo tīmekļa lapas brīdinājumu, to atgriež objekta Browser metode getAlert(), un to nevar izveidot tieši.

Objekts Alert satur rekvizītu text ar brīdinājuma tekstu (vai null, ja brīdinājumu nav).

Ar objektu Alert tiek atbalstītas šādas metodes.

Method Description
accept() Apstiprināt brīdinājumu.
dismiss() Noraidīt brīdinājumu.

Rezultāts

Objekts Result satur sesijas statistiku un tiek atgriezts ar objekta Browser metodi getResult().

Parasti objekts Result tiek pārveidots par virkni un atgriezts no skripta, bet pēc tam, izmantojot priekšapstrādi, parsēts atkarīgo vienumu vērtībās.

Lai gan objektam Result nav metožu, tas var saturēt tālāk norādītās īpašības.

Īpašība Type Apraksts
duration string Sesijas ilgums no sesijas izveides līdz rezultāta iegūšanai.
error object Kļūdas informācija.
http_status integer HTTP statuss, ko atgrieza WebDriver (vai 0, ja nav WebDriver kļūdu).
error_code string Kļūda, ko atgrieza WebDriver (vai tukša virkne, ja nav WebDriver kļūdu).
message string WebDriver kļūdas ziņojums (vai tukša virkne, ja nav WebDriver kļūdu).
performance_data object Veiktspējas statistika.
summary object Veiktspējas kopsavilkums.
navigation object Navigācijas kopsavilkums.
resource object Resursu kopsavilkums.
details array of objects Veiktspējas statistika pēc katras darbības, kas varēja izraisīt navigāciju.
mark string (neobligāti) Veiktspējas momentuzņēmuma atzīme, kas norādīta ar metodi collectPerfEntries().
navigation object Navigācijas statistika.
resource object Šīs darbības resursu kopsavilkums.
user array of objects Masīvs ar mark/measure tipa statistiku.
marks array of objects Atzīmēto veiktspējas momentuzņēmumu indeksu masīvs.
name string Veiktspējas momentuzņēmuma atzīmes nosaukums.
index integer Veiktspējas momentuzņēmuma indekss masīvā details.