8

ID の一部を保存し、残りを破棄したい。たとえば、「element-12345」という ID を持つ html 要素があります。「element-」を捨てて「12345」を残したい。どうすればこれを達成できますか?

次のように、値をキャプチャしてエコーできます。

| | storeAttribute | //pathToMyElement@id | マイ ID |
| | エコー | ${!-myId-!} | | |

テストを実行すると、次のような結果が得られます。

| | storeAttribute | //pathToMyElement@id | マイ ID |
| | エコー | ${myId} | 要素-12345 |

Selenium IDE で記録し、Selenium Bridge フィクスチャを使用してテストを Fitnesse にコピーしています。問題は、テストを実行するたびにクリーンなデータベースを使用していて、テスト全体でキャプチャして使用する必要があるランダムな ID を使用していることです。

4

3 に答える 3

11

解決策は、JavaScriptreplace()関数をstoreEval次のように使用することです。

| storeAttribute | //pathToMyElement@id                                   | elementID |
| storeEval      | '${elementID}'.replace("element-", "")                 | myID      |

エコーmyIDすると、IDだけが取得されます。

| echo | ${myID} | 12345 |
于 2009-03-05T18:02:20.643 に答える
2

/ element-(\ d +)/ i

これは、ダッシュの後の数字をキャプチャする正規表現です。

于 2008-12-31T17:44:06.517 に答える
2

このようなものがうまくいくかもしれません

| storeAttribute | fn:replace(//pathToMyElement@id,"^element-","") | myId |

正規表現を行うには XPath 2.0 が必要です - Selenium がどのバージョンを実装しているかは不明です。

于 2009-01-30T23:33:39.307 に答える