2

私の要素のxpathは非常に読みにくくなっています。

// div [@ id ='main_content'] / div [2] / div [2] / div [2] / div [4] / table / tbody / tr [2] / td / form / fieldset / p [1 ]/入力

そのほとんどを変数として保存し、後で次のように使用できると便利です。

| assertElementPresent | ${myForm}。/ fieldset / p [1] / input |

このようなことは可能ですか?それは私のテストをとても読みやすくするでしょう!

4

2 に答える 2

5

代わりに、セレンの表現をIDの要素に固定する必要があります。2 か月後には、xpath が何を指しているのか、特に確認する必要があるときにテストが壊れている場合は、誰も微かな考えを持つことはできません。テストを簡単にするために、要素に id を定期的に追加します。私たちは、Java コードをテスト可能にするために特別な方法で記述することを受け入れることを学びました。HTML についても問題ないと思います。

于 2008-12-31T19:19:33.857 に答える
1

あなたはただ書くことができます:

store | //div[@id='main_content']/div[2]/div[2]/div[2]/div[4]/table/tbody/tr[2]/td/form | myForm
assertElementPresent | xpath=${myForm}/fieldset/p[1]/input

ただし、Krosenvoldが言ったように、長いxpathはかなり壊れやすい可能性があります。コードの可読性に懸念があり、カスケード変更を行うことができる1つのファイルにすべてのロケーターが必要な場合は、UI要素マップの使用を検討することをお勧めします。

于 2009-07-23T08:15:35.563 に答える