2
在ruby中調用text_field的set
方法時,瀏覽器中的文本輸入速度非常慢,大約爲1個字符/秒。FireWatir TextField設置:非常慢
環境信息:
- 的Ubuntu 10.10
- 火狐3.6.13
- JSSh 0.9
- 紅寶石1.9.2p136
- FireWatir 1.7.1
請諮詢。提前致謝。
在ruby中調用text_field的set
方法時,瀏覽器中的文本輸入速度非常慢,大約爲1個字符/秒。FireWatir TextField設置:非常慢
環境信息:
請諮詢。提前致謝。
這是一個已知的bug:WTR-397
解決方法是使用watir-webdriver或使用value=
而不是set
。例如:
browser.text_field(how => what).value= "string"
解決上firewatir慢放鍵類型的問題:
需要編輯的文件text_field.rb
進入到該文件夾
#>cd /usr/lib/ruby/gems/1.8/gems/firewatir-1.7.1/lib/firewatir/elements/
使其可寫#>chmod 777 text_field.rb
編輯PROC def doKeyPress(value)
@o.fireEvent("onKeyDown")
前面#和@o.fireEvent("onKeyPress")
和@o.fireEvent("onKeyPress")
,而不是進入fire_key_events
def doKeyPress(value)
begin
max = maxlength
if (max > 0 && value.length > max)
original_value = value
value = original_value[0...max]
element.log " Supplied string is #{suppliedValue.length} chars, which exceeds the max length (#{max}) of the field. Using value: #{value}"
end
rescue
# probably a text area - so it doesnt have a max Length
end
for i in 0..value.length-1
#sleep element.typingspeed # typing speed
c = value[i,1]
#element.log " adding c.chr " + c #.chr.to_s
@o.value = "#{(@o.value.to_s + c)}" #c.chr
fire_key_events #add this
#@o.fireEvent("onKeyDown")
#@o.fireEvent("onKeyPress")
#@o.fireEvent("onKeyUp")
end
現在它應該工作得更快
聽起來更像是你可能要考慮到開發商FireWatir的錯誤。 – 2011-02-15 05:22:50