Ranorex Studio における正規表現
このセクションでは、Ranorex Studio における正規表現の適用例について説明します。1 つ目の例はバリデーションです。2 つ目の例は Get value アクションによる値の取得です。
サンプル ソリューション
このセクションの例を含むソリューションをダウンロードできます。
ダウンロード
Theme: Regexes applied in Ranorex Studio
Time: Less than 30 min
インストール:
任意のフォルダーに解凍します。
Ranorex Studio を起動し、RegEx.rxsln
を開きます。
Ranorex Studio Demo Application のダウンロード
まだ Ranorex Studio Demo Application をダウンロードしてない場合には、ここ からダウンロードしてください。
バリデーションの例
正規表現は、テスト対象アプリを操作することで変化する値をバリデーションする際に役立ちます。この例では、画像の横に表示される、動的に生成される ID をバリデーションします。
画像の表示/非表示で変化する動的な ID
解決方法
ID が動的に変化するために、シンプルなテキストベース バリデーションは失敗します。対して、正規表現はこれを簡単に処理できます。
このバリデーションを Ranorex Studio で確認してみましょう。
正規表現を使用してバリデーションするために、AttributeRegex を選択します。
Match name に指定する属性は、リンクしているリポジトリ アイテムに依存します。今回の例では、Text 属性を指定します。
この正規表現は、”img_” で始まり、その後に 16 桁の文字/数字が続く文字列にマッチします。
結果
リンクされたリポジトリ アイテムの Text 属性の値が、指定した正規表現とマッチする場合には常にバリデーションが成功します。
Get value アクションと正規表現による情報の抽出
Get value アクションで属性値の取得ができますが、しばしば、値の特定の部分のみ(例えば数字の部分のみ)を取得したい場合があります。これは正規表現によって対応できます。
Demo Application を起動し、Test database タブをクリックします。
任意のデータを入力し、データベースに追加します。
次に、データベース内のデータから年齢を抽出し、変数に割り当てたいとします。
Demo Application に表示されたデータベース エントリ。年齢が文字列の一部として表示されています。
Ranorex Studio では、この文字列は TextLine リポジトリ アイテムとして表されています。このリポジトリ アイテムの RanoreXPath 式は、ListItem という値を持つ accessiblerole 属性を使用しています。
解決方法
文字列から年齢を抽出するには、正規表現を使用する必要があります。
Ranorex Studio で、設定済みの Get value アクションを確認してみましょう。
アクション全体
値を抽出するための Get value アクション
対象の値を含む、リンクされたリポジトリ アイテムの属性
値を格納する変数
年齢を抽出する正規表現。この例では、1~2 桁のすべての数字 (0~99) にマッチします。
アクションにリンクされたリポジトリ アイテム
結果
リンクされたリポジトリ アイテムの Text 属性が、0-99 の数字を含む場合、この数字が抽出され、変数 $myAge に格納されます。
レポートでは、以下のように表示されます。