Ranorex Studio における Web サイトの構造
Ranorex Studio は、Web サイトの HTML アーキテクチャ全体を認識し、自動テストで使用できるようにします。Ranorex Spy を使用して、Web サイトの構造をブラウズし、Ranorex Studio でどのように表現されているかを確認します。Web サイトは、Spy では 3 つの基本的なパーツに構造化されます。
Domain object model (DOM)
これがトップ レベルのノードです。ブラウザーで開いた各 Web サイトは、Spy の中で独自の DOM ノードを持ちます。
ブラウザー固有の要素
各ブラウザーには、DOM ノードには含まれない、ブラウザー固有の要素があります。たとえば以下のような要素です。
- ウィンドウ コントロール (最小化、最大化、閉じる)
- ポップアップ
- ダイアログ ウィンドウ
これらの要素は、ブラウザーに固有の FORM ノードで構造化されます。
ブラウザーのウィンドウ コントロール
ブラウザーのダイアログ ウィンドウ
これらの要素は、ブラウザーに固有の FORM ノードで構造化されます。T
メモ
ブラウザー固有の要素は、ブラウザーごとに異なるため、クロスブラウザー テストにおいて問題を引き起こす原因となります。クロスブラウザー テストをおこなう場合には、これらの要素の使用を避けてください。
ブラウザー固有の要素は、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 サイト要素はリポジトリ アイテムとして参照され、以下のように表示されます。