1

この質問は、watir の select_list に関するものです。

奇妙な動作をする Web アプリケーションがあります。

ユーザーが Web サイトに登録できる 4 ページのフォームがあり、フォームのページの 1 つに、ユーザーが値のリストの 1 つを選択する必要がある select_list があります。

値のリストは都市のリストです。

選択リストのHTMLコードは次のようになります

<select id="roleDetailsForm:city" name="roleDetailsForm:city">
<option value="">---Select---</option>
<option value="ABG">ABINGDON, QL</option>
</select>

値のリストの 1 つを選択するために私が書いた watir コードは次のとおりです。

@browser.select_list(:name => "roleDetailsForm:city").set "ADELAIDE, SA"

問題は

開発者のログには、select_list が値の代わりにテキストをサーバーに送信しているため、リクエストが失敗したことが示されています。

したがって、ADL が選択された値としてサーバーに送信される代わりに、「ADELAIDE, SA」が選択された値として送信されます。

ただし、これはスクリプトの実行時にのみ発生します。

ユーザーがselect_listで同じテキストを手動で選択し、送信をクリックすると、正しい値として「ADL」が送信されます

現在、開発者は、アプリケーションの動作がおかしくなっているのはスクリプトが原因であると主張しています。

しかし、なぜこれが起こっているのか理解できませんか?

他の誰かがそのような問題を経験したかどうか、そしてこれが本当にスクリプトによるものかどうかを知りたい.

上記のwatirコードに加えて、私も試しました

@browser.select_list(:name => "roleDetailsForm:city").set  (@browser.select_list(:name => "roleDetailsForm:city").options[10])
4

2 に答える 2

3

使ってみてください

@browser.select_list(:name => "roleDetailsForm:city").select("ADELAIDE, SA")

元のWatirsetの別名に過ぎないと思いますが、もうわかりません。select

それは一撃の価値があります。

于 2012-04-24T11:01:12.483 に答える
0

あなたは試すことができます:

@browser.select_list(:name => "roleDetailsForm:city").select_value('ADL')

選択リストから何かを選択すると入力される非表示フィールドはありますか(非表示フィールドはサーバーでチェックされているものですか?Firebugなどを使用して、手動で選択したときに実行されているイベントがあるかどうかを確認してください)リスト。

于 2012-04-24T13:49:17.377 に答える