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 回答