Forum: Ruby watir-webdriver blocklist message

Posted by Joel Pearson (virtuoso)
on 2012-11-23 13:30
When I load watir-webdriver I'm getting a message I've never seen
before:
"Blocklist::_loadBlocklistFromFile: blocklist is disabled"
Apart from that message it appears to be loading normally.

I believe that this is related to some odd behaviour I've been getting
from the timeout exception class. It seems to be interpreting intervals
incorrectly. For example, watir's wait_until_present(0.1) waits for 60
seconds.

Any idea how I enable this "Blocklist"?

Thanks.
Posted by Joel Pearson (virtuoso)
on 2012-11-23 23:02
I've stopped getting the Blocklist message, but Watir's wait methods 
still only default to 60 seconds or indefinite. I've tried completely 
resetting the profile and removing all add-ons and plug-ins from 
Firefox.
Posted by Joel Pearson (virtuoso)
on 2012-11-24 11:05
Curiouser and curiouser...

It appears to time out correctly when waiting for an indexed element, 
but fails when dealing with name or id. Why?!

irb(main):018:0> b.table(:index,1).wait_until_present(1)
Watir::Wait::TimeoutError: timed out after 1 seconds, waiting for 
{:index=>1, :tag_name=>"table"} to become present


irb(main):019:0> b.table(:id,'n').wait_until_present(1)
Timeout::Error: Timeout::Error
        from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in 
rbuf_fi
ll'
        from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:140:in 
`rbuf_fill'
        from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:122:in 
`readuntil'
        from C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2562:in 
`read_status_line'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1319:in `block in 
transport_r
equest'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in 
`transport_request'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1293:in `request'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1286:in `block in 
request'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:745:in `start'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1284:in `request'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/s
elenium/webdriver/remote/http/default.rb:82:in `response_for'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/s
elenium/webdriver/remote/http/default.rb:38:in `request'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/s
elenium/webdriver/remote/http/common.rb:40:in `call'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/s
elenium/webdriver/remote/bridge.rb:598:in `raw_execute'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/s
elenium/webdriver/remote/bridge.rb:576:in `execute'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/s
elenium/webdriver/remote/bridge.rb:544:in `find_element_by'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/s
elenium/webdriver/common/search_context.rb:42:in `find_element'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/locators/element_locator.rb:247:in `by_id'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/locators/element_locator.rb:26:in `locate'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/elements/element.rb:384:in `locate'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/elements/element.rb:362:in `assert_exists'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/elements/element.rb:37:in `exists?'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/elements/element.rb:296:in `present?'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/wait.rb:132:in `block in wait_until_present'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/wait.rb:19:in `until'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir
-webdriver/wait.rb:132:in `wait_until_present'
        from (irb):19
Posted by Joel Pearson (virtuoso)
on 2012-11-24 11:35
It's also doing the same thing with a totally seperate install or Ruby 
1.9..2 and a seperate install of Firefox. Looks like I'll have to 
reformat this laptop :(
Posted by Joel Pearson (virtuoso)
on 2012-11-24 23:19
I managed to put together a kludge for now by using explicit timeouts in 
the "present?" and "until" methods. Something like this:

Timeout::timeout(input_timeout=1) do
#Default webdriver command here
end
rescue Timeout::Error
raise TimeoutError
end
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.