Website structure in Ranorex Studio | Ranorex
Help CenterUser GuideWeb and mobile testing

Ranorex Studio における Web サイトの構造

Ranorex Studio は、Web サイトの HTML アーキテクチャ全体を認識し、自動テストで使用できるようにします。Ranorex Spy を使用して、Web サイトの構造をブラウズし、Ranorex Studio でどのように表現されているかを確認します。Web サイトは、Spy では 3 つの基本的なパーツに構造化されます。

Domain object model (DOM)

これがトップ レベルのノードです。ブラウザーで開いた各 Web サイトは、Spy の中で独自の DOM ノードを持ちます。

個々の Web サイトを表す、Spy に表示された 5 つの DOM ノード

ブラウザー固有の要素

各ブラウザーには、DOM ノードには含まれない、ブラウザー固有の要素があります。たとえば以下のような要素です。

  • ウィンドウ コントロール (最小化、最大化、閉じる)
  • ポップアップ
  • ダイアログ ウィンドウ

これらの要素は、ブラウザーに固有の FORM ノードで構造化されます。

ブラウザーのタブのコントロール要素 (タブ内の Web サイトは、DOM ノードにあります)

ブラウザーのウィンドウ コントロール

ブラウザーのダイアログ ウィンドウ

これらの要素は、ブラウザーに固有の FORM ノードで構造化されます。T

Note icon

メモ

ブラウザー固有の要素は、ブラウザーごとに異なるため、クロスブラウザー テストにおいて問題を引き起こす原因となります。クロスブラウザー テストをおこなう場合には、これらの要素の使用を避けてください。

ブラウザー固有の要素は、RanoreXPath やコードで扱うことができます。

2 つの異なるブラウザーのボタンを、プロセス名を使用して表す RanoreXPath は、たとえば以下のようになります。

/form[@processname='firefox' OR @processname='chrome']//button[@text='OK']

より多くのプロセス名を含める場合には、以下のような方法が効率的です。

/form[@processname~'(iexplore|IEXPLORE|chrome|firefox)']//button[@text='OK']

Ranorex Studio に含まれる、Ranorex Automaion Library は、さまざまな変数やメソッドを使用して、ブラウザー固有の要素を区別できます。たとえば、変数 BrowserName を使用することで、ブラウザーの種類を区別できます。以下にこのコード例を示します。

// Click the OK button in popping up dialog of one of the supported browser
// If the current browser is Internet Explorer
if(webDocument.BrowserName == "IE")
{
Button okIE = "/form[@processname~'(iexplore|IEXPLORE)']//button[@text='OK']";
okIE.Click();
}
// If the current browser is Mozilla Firefox
else if(webDocument.BrowserName == "Mozilla")
{
Button okFF = "/form[@processname='firefox']//button[@text='OK']";
okFF.Click();
}
// If the current browser is Google Chrome
else if(webDocument.BrowserName == "Chrome")
{
Button okChrome = "/form[@processname='chrome']//button[@text='OK']";
okChrome.Click();
}
// If the current browser is Apple Safari
else if(webDocument.BrowserName == "Safari")
{
Button okSafari = "/form[@processname='Safari']//button[@text='OK']";
okSafari.Click();
}
' Click the OK button in popping up dialog of one of the supported browser
' If the current browser is Internet Explorer
If webDocument.BrowserName = "IE" Then
Dim okIE As Button = "/form[@processname~'(iexplore|IEXPLORE)']//button[@text='OK']"
okIE.Click()
' If the current browser is Mozilla Firefox
ElseIf webDocument.BrowserName = "Mozilla" Then
Dim okFF As Button = "/form[@processname='firefox']//button[@text='OK']"
okFF.Click()
End If
' If the current browser is Google Chrome
ElseIf webDocument.BrowserName = "Chrome" Then
Dim okChrome As Button = "/form[@processname='chrome']//button[@text='OK']"
okChrome.Click()
End If
' If the current browser is Apple Safari
ElseIf webDocument.BrowserName = "Safari" Then
Dim okSafari As Button = "/form[@processname='Safari']//button[@text='OK']"
okSafari.Click()
End If

WebDocument クラスと、その変数およびメソッドについては、Ranorex API documentation を参照してください。

Web サイトの要素

Web サイト要素は、デスクトップ アプリケーションの要素と同じように、⇢ RanoreXPath を使用して識別されます。

リポジトリでは、識別された Web サイト要素はリポジトリ アイテムとして参照され、以下のように表示されます。