質問

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

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

| storeAttribute | //pathToMyElement@id | myId |
| echo | ${!-myId-!} | |

テストを実行すると、次のようなメッセージが表示されます:

| storeAttribute | //pathToMyElement@id | myId |
| echo | ${myId} | element-12345 |

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

役に立ちましたか?

解決

解決策は、 storeEval でJavaScript replace()関数を使用することです。

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

myID をエコーすると、IDだけが得られます:

| echo | ${myID} | 12345 |

他のヒント

/ element-(\ d +)/ i

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

このような可能性がある何かが動作します:

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

正規表現を実行するにはXPath 2.0が必要です-Seleniumが実装しているバージョンがわからない。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top