0

スクリプトがフィールドに何かを入力しようとすると、ポップアップがスローされるため、text_field にテキストを入力する際に​​問題があります。手動で入力すると、ポップアップはスローされません。テキストフィールドのhtmlは以下の通りです。

<input name="txtperc" type="text" value="0" maxlength="3" id="txtperc" tabindex="1" class="textBox valid" data-setfocus="true" onchange="return OnChangePercentAssignment('1','1');" onkeypress="return restrictKeyPress(event);" onpaste="cleanText.Wait(this)" style="width:30px;">

私のコード=

text_field(:percentage ,:id=>'txtperc') 
self.percentage = 100

私の推測では、スクリプトがテキスト フィールドをクリアしようとしており、それがポップアップの起動をトリガーしていると思われます。

私も試しました

text_field(:percentage ,:id=>'txtperc')

self.percentage = 10 
browser.alert.ok
self.percentage = 100

text_field に設定/入力する別の方法はありますか?

4

1 に答える 1

1

アプリケーションの動作は少し奇妙に思えます。フィールドを設定するには、javascript を実行して入力要素のイベントをバイパスする必要がある場合があります。これは、イベントの発生が無視できることを前提としています。

ページ オブジェクトを次のように定義できます。

class MyPage
  include PageObject

  text_field(:percentage ,:id=>'txtperc') 
  def percentage=(value)
    execute_script("document.getElementById('txtperc').value = '#{value}';")
  end
end

そして、フィールドを通常どおり入力します。

self.percentage = 100
于 2013-11-27T15:16:39.587 に答える