0

私は Watir フレームワークが初めてで、次のようなコードがあります。

$browser.link(:xpath, "//a[@href='/servlets/ProcessAction?identifier=createMemberAccountTypes&click1=Accounts_Open']").click 

. ただし、これはIEではうまく機能しますが、Firefoxでは常に機能しません。したがって、次のようなものを使用します

$browser.span(:text => "Logout").parent.click

ただし、IE 用と Firefox 用に 1 つずつ記述したくありません。何を使うべきですか?

お時間をいただきありがとうございます。

4

1 に答える 1

3

私は使うだろう:

$browser.link(:text => "Logout").click

:text 指定子には、要素とその要素のすべてのテキストが含まれます (つまり、スパンに含まれます)。したがって、スパンの親を取得するのではなく、リンクを直接取得できます。

通常の提案は、可能であれば xpath を避けることです。多くの場合、読みにくく、もろくなる可能性があります。たとえば、xpath はクエリ文字列パラメーターの特定の順序にハードコードされています。生成された URL が「/servlets/ProcessAction?click1=Accounts_Open&identifier=createMemberAccountTypes」になる (つまり、パラメーターの順序が変わる) 場合、テストは失敗します。対照的に、「Logout」というテキストは変更される可能性が低いようです。

一般的に、私はうまくいくものを使うと言います。

于 2012-12-21T17:14:24.770 に答える