1

ロボットフレームワークやセレンを使用して非常に長いロケーターを処理するための一般的なアプローチは何ですか?

私は長いロケーターについて話している:

<input id="all00$SPWebExample1$g_bcd023df_3ba6_4f8f_bef3_164383c266aa$ctl00$$HereComesAnotherText1$rblFoundIs" />

明白なアプローチは、テスト ケース ファイルを汚染しないように、リソース ファイルでそれらを「隠す」ことです。私が見た別のアプローチは、テスト済みの Web サイトの完全な構造を含む静的 xml ファイルを作成し、xml ファイルを解析することです (必要に応じて例を提供できます)。

これを行うためのより良い方法はありますか?

4

2 に答える 2

1

IMHOの解決策は、醜い自動生成IDを使用しないことです。フレームワークがID生成方法を変更すると、すべてのテストが機能しなくなるため、テストは脆弱になります。代わりに、XPathまたはCSSセレクターを使用してください。

于 2012-08-16T14:35:57.447 に答える
1

ID が自動的に生成されている場合、ID をそのような長いロケーターに格納することはお勧めできません。


それ以外の:

string superLongLocatorID = "all00$SPWebExample1$g_bcd023df_3ba6_4f8f_bef3_164383c266aa$ctl00$$HereComesAnotherText1$rblFoundIs"

使用する:

string xpathLocator = "//input[contains(@id, 'rblFoundIs')]"

XPath バージョンはかなり短く、完全な ID を格納するほど簡単には壊れません。

同じテキストを含む入力要素が複数ある場合、結果を絞り込む別の方法があります。

于 2012-08-16T22:35:29.693 に答える