2012-04-24 13 views
1

この質問はwatirのselect_listに関するものです。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> 

私は、値のリストのいずれかを選択するように書かれているワチールコードのようなものです

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

問題が

です開発者のログによれば、select_listは値の代わりにテキストをSeverに送りますが、これは要求に失敗しています。

したがって、サーバーに選択された値としてADLの代わりに、「ADELAIDE、SA」が選択された値として使用されます。

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

ユーザーが手動でSELECT_LISTで同じテキストを選択し、をクリックすると、原因スクリプトに

は今、開発者はそれがあると主張されてきた正しい値として、それは「ADL」を送信して提出アプリケーションが奇妙な動作をしていることを示します。

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

他の誰かがこのような問題を経験しているかどうか、これが実際にスクリプトによるものかどうかを知りたいと思っています。 I上記ワチールコードに加えて

も、私はsetがオリジナルワチールでselectのためだけの別名だと思うが、私は確かではないよ

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

入力フィールドを任意の値(テキストフィールドなど)に設定して選択リストからオプションを選択するときは、 '.set'を使用してください代わりに '.select'メソッドが必要です。以下のanonygooseの答えを参照してください –

答えて

3

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

を使用してみてくださいを試してみましたもう

これは価値があります。

+0

ええ、私はそれが彼の問題だと思う、私はかなり確信しています。通常、あなたはページコードを変更したり、リクエストをスプーフィングしなければならないので、選択リストが返す「値」を直接設定しています。 –

0

あなたは試みることができる:

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

をおそらくあなたが選択リスト(および隠しフィールドから何かを選択したときに読み込まれます隠しフィールドには、サーバー上で確認されているものがあるされています多分Firebugのを使用しますか?