2 ブラウザアイテムのJavaScriptオブジェクト

概要

このセクションでは、ブラウザアイテムスクリプトで使用するためにDuktapeで実装されたJavaScript言語へのZabbixの追加機能について説明します。 これらの追加機能は、追加のJavaScriptオブジェクトページで説明されているJavaScriptオブジェクトを補完するものです。

Browser

Browser オブジェクトはWebDriverセッションを管理し、作成時にセッションを初期化し、破棄時にセッションを終了します。 1つのスクリプトで最大4つの Browser オブジェクトをサポートできます。

Browser オブジェクトを構築するには、new Browser(options) 構文を使用します。 optionsJSON object)パラメータはブラウザオプションを指定し、通常はWebDriver optionsメソッドの戻り値です(例: Browser.chromeOptions())。

Browser オブジェクトでは、以下のメソッドがサポートされています。

Method Description
navigate(url) 指定したURLに移動します。

パラメータ:
url - (string) 移動先のURL。
getUrl() 開いているページのURL文字列を返します。
getPageSource() 開いているページのソース文字列を返します。
findElement(strategy, selector) 開いているページ内の1つの要素を含む Element オブジェクトを返します(strategyselector に一致する要素がない場合は null を返します)。

パラメータ:
strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;
selector - (string) 指定したロケーション戦略を使用する要素セレクター。
findElements(strategy, target) 開いているページ内の複数の要素を含む Element オブジェクトの配列を返します(ロケーション戦略とtargetに一致する要素がない場合は空の配列を返します)。

パラメータ:
strategy - (string, css selector/link text/partial link text/tag name/xpath) Location strategy;
target - (string) 指定したロケーション戦略を使用する要素セレクター。
getCookies() Cookie オブジェクトの配列を返します。
addCookie(cookie) Cookieを設定します。

パラメータ:
cookie - (Cookie object) 設定するCookie。
getScreenshot() ブラウザのビューポートの画像を表すBase64エンコード文字列を返します。
setScreenSize(x,y) ブラウザのビューポートサイズを設定します。

パラメータ:
x - (string) ピクセル単位の幅;
y - (string) ピクセル単位の高さ。
setScriptTimeout(timeout) スクリプト読み込みタイムアウトを設定します。

パラメータ:
timeout - (integer) ミリ秒単位のタイムアウト値。
setSessionTimeout(timeout) セッション(ページ読み込み)タイムアウトを設定します。

パラメータ:
timeout - (integer) ミリ秒単位のタイムアウト値。
setElementWaitTimeout(timeout) 要素ロケーション戦略の(暗黙的)タイムアウトを設定します。

パラメータ:
timeout - (integer) ミリ秒単位のタイムアウト値。
collectPerfEntries(mark) getResult() メソッドで取得するパフォーマンスエントリを収集します。

パラメータ:
mark - (string, optional) パフォーマンススナップショットのマーク。
getRawPerfEntries() パフォーマンスエントリオブジェクトの配列を返します。
getResult() ブラウザセッション統計(エラー情報、パフォーマンススナップショットなど)を含む Result オブジェクトを返します。
getError() ブラウザエラーを含む BrowserError オブジェクトを返します(ブラウザエラーがない場合は null を返します)。
setError(message) Result オブジェクトに含めるカスタムエラーメッセージを設定します。

パラメータ:
message - (string) エラーメッセージ。
discardError() Result オブジェクトで返されるエラーを破棄します。
getAlert() ブラウザアラートを含む Alert オブジェクトを返します(ブラウザアラートがない場合は null を返します)。
chromeOptions() 定義済みのChromeブラウザオプションを含む chromeOptions オブジェクトを返します。
firefoxOptions() 定義済みのFirefoxブラウザオプションを含む firefoxOptions オブジェクトを返します。
safariOptions() 定義済みのSafariブラウザオプションを含む safariOptions オブジェクトを返します。
edgeOptions() 定義済みのEdgeブラウザオプションを含む edgeOptions オブジェクトを返します。
switchFrame(target) 指定したフレームに切り替えます。バージョン7.0.4以降でサポートされています。

パラメータ:
target - (browser element or integer, optional) 対象フレーム。要素でフレームを選択するには、その要素を渡します。インデックスでフレームを選択するには、その番号を渡します。空のままにすると、トップレベルのブラウジングコンテキストに切り替わります。

すべてのBrowserメソッドは、以下のエラーをスローする可能性があります。

  • BrowserError - Error オブジェクトから派生し、Browser コンストラクタが失敗した場合にスローされます。追加の browser プロパティを含み、この BrowserError をスローした Browser オブジェクトを保持します。
  • WebdriverError - BrowserError から派生します。BrowserError オブジェクトと同じプロパティを含み、このエラーがWebDriverレスポンス内のエラーに応答して生成されたかどうかを示します。

要素

Element オブジェクトは Browser オブジェクトの findElement()/findElements() メソッドによって返され、直接構築することはできません。

Element オブジェクトは Web ページ内の要素を表し、その要素を操作するためのメソッドを提供します。

Element オブジェクトでは、以下のメソッドがサポートされています。

メソッド 説明
getAttribute(name) 要素属性の属性値文字列を返します(指定された属性が見つからない場合は null を返します)

パラメーター:
name - (文字列) 属性名
getProperty(name) 要素プロパティのプロパティ値文字列を返します(指定されたプロパティが見つからない場合は null を返します)

パラメーター:
name - (文字列) プロパティ名
getText() 要素テキストのテキスト値文字列を返します。
click() 要素をクリックします。
clear() 編集可能な要素のコンテンツをクリアします。
sendKeys(keys) キーを送信します。

パラメーター:
keys - (文字列) 送信するキー

Cookie オブジェクトは、Browser オブジェクトの getCookies() メソッドによって返され、addCookie() メソッドに渡されます。

Cookie オブジェクトにはメソッドはありませんが、以下のプロパティを含めることができます。

Property Type Description
name string Cookie の名前。
value string Cookie の値。
path string Cookie が有効なパス。
Cookie の追加時に省略した場合、デフォルトは "/" です。
domain string Cookie が参照可能なドメイン。
Cookie の追加時に省略した場合、デフォルトはセッションの現在のブラウジングコンテキストのアクティブなドキュメントの URL ドメインです。
secure boolean Cookie がセキュアであるかどうかを示します。
Cookie の追加時に省略した場合、デフォルトは false です。
httpOnly boolean Cookie が HTTP 専用であるかどうかを示します。
Cookie の追加時に省略した場合、デフォルトは false です。
expiry integer Cookie の有効期限(Unix エポックからの秒数)。Cookie の追加時に省略する場合は設定してはいけません。
sameSite string Cookie の sameSite 属性で、Cookie をファーストパーティまたは same-site コンテキストに制限するかどうかを制御します。
"Lax" または "Strict" のいずれかを設定できます。
Cookie の追加時に省略した場合、デフォルトは "None" です。

アラート

Alert オブジェクトはウェブページのアラートを表し、Browser オブジェクトの getAlert() メソッドによって返されます。直接構築することはできません。

Alert オブジェクトには、アラートテキスト(アラートがない場合は null)が設定された text プロパティが含まれます。

Alert オブジェクトでは、以下のメソッドがサポートされています。

メソッド 説明
accept() アラートを承認します。
dismiss() アラートを却下します。

結果

Result オブジェクトにはセッション統計が含まれており、Browser オブジェクトの getResult() メソッドによって返されます。

通常、Result オブジェクトは文字列化されてスクリプトから返され、その後、前処理によって依存項目の値に解析されます。

Result オブジェクトにはメソッドはありませんが、以下のプロパティを含めることができます。

プロパティ < < タイプ 説明
duration < < 文字列 セッション作成から結果取得までのセッション継続時間
error < < オブジェクト エラー情報
http_status < 整数 WebDriver によって返される HTTP ステータス(WebDriver エラーがない場合は 0)
^ error_code < 文字列 WebDriver から返されたエラー (WebDriver エラーがない場合は空の文字列)
^ message < 文字列 WebDriver エラー メッセージ (WebDriver エラーがない場合は空の文字列)
performance_data < < object パフォーマンス統計
summary < object パフォーマンス サマリー
^ < navigation object ナビゲーション サマリー
^ ^ resource object リソース サマリー
details < オブジェクトの配列 ナビゲーションにつながる可能性のある各操作後のパフォーマンス統計
^ < mark 文字列 (オプション) collectPerfEntries() メソッドで指定されたパフォーマンス スナップショット マーク
^ ^ navigation object ナビゲーション統計 ^ ^ resource object このステップのリソース概要
^ ^ user オブジェクトの配列 マーク/メジャータイプの統計情報の配列
< marks < オブジェクトの配列 マークされたパフォーマンス スナップショットのインデックス
^ < name string パフォーマンス スナップショットのマーク名
^ ^ index integer 詳細配列内のパフォーマンス スナップショットのインデックス