最近のアクセス:
GXtest の UI コマンド - セレクター

Web ページに表示されるエレメントを操作し、情報を入手するには、ロケーターを使用できます。それぞれについて説明します。

コントロール名セレクター

これは HTML に依存しない点で GeneXus のロケーターと言えます。以下に説明する HTML セレクターを使用せずにテストを記述できます。
このセレクターを使用する場合、パラメーター名は通常 ControlName または TableName のようになり、コマンドには ByID や ByXPath などの HTML ロケーターの名前は含まれません。単純に、Click(ControlName: character)、Type(ControlName: Character, Text: character) などのようになります。
GeneXus では同じコントロール名を持つエレメントを 2 つ定義することはできませんが、コントロールをグリッドまたはテーブルの列として複製する場合や、同じ名前のコントロールを含む Web コンポーネントがある場合は例外です。
このセレクターには 4 種類あります:
  • 単純なコントロール: Web パネル内の一意のコントロールです。
  • グリッド/テーブルのコントロール: グリッドまたはテーブルに含まれるコントロールは、いくつもの行に存在する可能性があるので、コントロールを明確に指定するために行のパラメーターが必要です。
  • Web コンポーネント内の単純なコントロール: 単純なコントロールが Web コンポーネント内にある場合は Web コンポーネントのコントロール名、ドット、コントロール名を指定します。
  • Web コンポーネント内のグリッド/テーブルコントロール: 上記と同様ですが、テーブル/グリッドコントロール内にあるため Row パラメーターを追加します。
たとえば、次のような Web パネルがあるとします:
イメージ:47723.png
グリッドの 3 行目にある &Name 変数をクリックするには、次のように記述します:
&driver.Click("&Name", 3) 
コントロールが Component1 という Web コンポーネント内にある場合は、次のように記述します:
&driver.Click("Component1.&Name", 3)
テーブルの外の変数 (単純なコントロール) をクリックするには、次のように記述します:
&driver.Click("&Name")
コントロールが MyWebComponent という Web コンポーネント内にある場合は、次のように記述します:
&driver.Click("MyWebComponent.&Name")
注 1: コントロール名のセレクターの一部として、変数にアンパサンド (&) 記号を付ける必要があります。
注 2: エラービューアのコントロールには [ Control Name ] プロパティがありません。通常はテキストの取得が必要になるので、その場合は GetMessages() コマンドを使用します。

Id セレクター

DOM 内のすべてのエレメントで ID 項目属性は一意であるため、これが最も推奨されるセレクターです。この項目属性は大文字と小文字が区別されます。
すべてのエレメントで使用できるわけではありませんが、使用できる場合は常にこのセレクターを使用してください。
たとえば、このボタンの HTML エレメントは次のようになっています:
イメージ:47720.png
そのため、このボタンをクリックするにはテストに次のように記述します:
&driver.ClickByID("BTN2")

名前セレクター

このセレクターは、ボタン、フォーム、入力、選択など、一般的なエレメントの一部で使用できます。
たとえば、上に挙げた画像のボタンのテキストを取得するには、テストに次のように記述する必要があります:
&driver.GetValueByName("BTN2")

CSS セレクター

CSS セレクターを使うと、さまざまな方法でエレメントを指定できます。たとえば、Google Chrome を使う場合、エレメントを右クリックして [ 検証 ] を選択し、該当する部分を右クリックして [ Copy ] > [ Copy selector ] を選択することで、エレメントの CSS セレクターを簡単に取得できます。ほかのブラウザーでも同じような方法でセレクターを確認できます。
たとえば、次のような HTML エレメントがあるとします:
<div class="gx-warning-message">Button 2 pressed</div>
テキストを取得するには、次のコマンドを実行します:
&driver.GetTextByCSS(".gx-warning-message") //エレメントのクラスを使用

XPath セレクター

これまでに挙げた ID、CSS、名前などのロケーターでエレメントを指定できない場合は、XPath セレクターを使うことができます。このセレクターは XML 構造を利用するもので、テキスト、クラス名、タグ名、項目属性など、さまざまな検索条件を使用できるのが利点です。
たとえば、次のエレメントのテキストを取得するとします:
<div class="gx-warning-message">Button 2 pressed</div>
この場合、次のコマンドを記述できます:
&driver.GetTextByXPath('//div [ @class="gx-warning-message" ] ')

LinkText セレクター

このセレクターはリンクエレメントにのみ使用できます。たとえば、次のようなリンクがあるとします:
イメージ:47721.png
この場合、次のコマンドを追加できます:
&driver.ClickByLinkText("gxtest doc")



サブページ
Created: 21/04/20 03:05 by Admin Last update: 22/03/14 00:48 by Admin
カテゴリ
Powered by GXwiki 3.0