Comments (11)
Let’s start with master branch, could you please try running cuprite from master?
from cuprite.
@route thanks for quick response.
I've used master and got Ferrum::NoSuchWindowError
on second CI run.
first test in suite fail with Ferrum::NoExecutionContextError
after that all test fail with Ferrum::NoSuchWindowError
from cuprite.
BTW I'm using rspec-retry
with following callback for proper session resetting
config.retry_callback = proc do |example|
$stderr.puts "RETRY EXAMPLE #{example.full_description.inspect}"
# avoid Capybara::Cuprite::NoSuchWindowError
if example.metadata[:js]
Capybara.reset_sessions!
Capybara.current_driver = Capybara.javascript_driver
Capybara.current_driver = example.metadata[:driver] if example.metadata[:driver]
end
end
from cuprite.
@senid231 if you could run tests with logger debug that would ease the whole thing
from cuprite.
@route I've send you debug log via email
from cuprite.
Hey Denis do you still have issues with you test suit?
from cuprite.
@route I have the same problem
Sometimes tests fail with Ferrum::NoSuchWindowError
, not figured out why yet.
Failure/Error: visit domain_management
Ferrum::NoExecutionContextError:
There's no context available
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/page/frame.rb:10:in `execution_context_id'
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/page.rb:217:in `block in inject_extensions'
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/page.rb:210:in `each'
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/page.rb:210:in `inject_extensions'
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/page.rb:193:in `prepare_page'
# ./.bundle/ruby/2.5.0/gems/cuprite-0.7.1/lib/capybara/cuprite/page.rb:110:in `prepare_page'
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/page.rb:56:in `initialize'
# ./.bundle/ruby/2.5.0/gems/cuprite-0.7.1/lib/capybara/cuprite/page.rb:8:in `initialize'
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/target.rb:20:in `new'
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/target.rb:20:in `page'
# ./.bundle/ruby/2.5.0/gems/ferrum-0.5/lib/ferrum/context.rb:22:in `page'
# ./.bundle/ruby/2.5.0/gems/cuprite-0.7.1/lib/capybara/cuprite/browser.rb:35:in `visit'
# ./.bundle/ruby/2.5.0/gems/cuprite-0.7.1/lib/capybara/cuprite/driver.rb:41:in `visit'
# ./.bundle/ruby/2.5.0/gems/capybara-3.29.0/lib/capybara/session.rb:276:in `visit'
# ./.bundle/ruby/2.5.0/gems/capybara-3.29.0/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
# ./spec/features/admin/reseller_domain_spec.rb:46:in `block (3 levels) in <top (required)>'
I use stable chrome on ubuntu:latest docker image
I'll try running tests with ferrum debug mode
from cuprite.
@vladimirtemnikov there's even no such error in newest releases. You should try using master or upgrade to latest versions both gems.
from cuprite.
@route thank you, I'll try!
from cuprite.
@route good afternoon, I do experience this issue right now and can not switch to iframe, all the information is bellow:
-
Gems and versions:
gem 'capybara', '3.35.3' gem 'cuprite', '0.13' em 'rspec', '3.10.0' gem 'site_prism', '3.7.3'
-
Error Log
`Failure/Error: raise NoExecutionContextError unless @execution_idFerrum::NoExecutionContextError: There's no context available # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ferrum-0.11/lib/ferrum/frame.rb:52:in `execution_id' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ferrum-0.11/lib/ferrum/frame/runtime.rb:134:in `block in call' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ferrum-0.11/lib/ferrum.rb:145:in `with_attempts' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ferrum-0.11/lib/ferrum/frame/runtime.rb:124:in `call' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ferrum-0.11/lib/ferrum/frame/runtime.rb:50:in `evaluate' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/ferrum-0.11/lib/ferrum/frame/dom.rb:24:in `current_url' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/2.7.0/forwardable.rb:235:in `current_url' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/2.7.0/forwardable.rb:235:in `current_url' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/cuprite-0.13/lib/capybara/cuprite/driver.rb:50:in `current_url' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/capybara-3.35.3/lib/capybara/session.rb:229:in `current_url' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/capybara-screenshot-1.0.25/lib/capybara-screenshot/rspec.rb:56:in `block in after_failed_example' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/capybara-3.35.3/lib/capybara.rb:371:in `using_session' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/capybara-screenshot-1.0.25/lib/capybara-screenshot/capybara.rb:7:in `using_session' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/capybara-screenshot-1.0.25/lib/capybara-screenshot/rspec.rb:55:in `after_failed_example' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/capybara-screenshot-1.0.25/lib/capybara-screenshot/rspec.rb:105:in `block (2 levels) in <top (required)>' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:455:in `instance_exec' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:455:in `instance_exec' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:372:in `run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:529:in `block in run_owned_hooks_for' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:528:in `each' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:528:in `run_owned_hooks_for' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:615:in `block in run_example_hooks_for' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:614:in `each' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:614:in `run_example_hooks_for' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:485:in `run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:515:in `run_after_example' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:281:in `block in run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:508:in `block in with_around_and_singleton_context_hooks' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:465:in `block in with_around_example_hooks' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:486:in `block in run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:626:in `block in run_around_example_hooks_for' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:350:in `call' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:455:in `instance_exec' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:455:in `instance_exec' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:390:in `execute_with' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:628:in `block (2 levels) in run_around_example_hooks_for' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:350:in `call' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:629:in `run_around_example_hooks_for' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb:486:in `run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:465:in `with_around_example_hooks' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:508:in `with_around_and_singleton_context_hooks' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb:259:in `run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:644:in `block in run_examples' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:640:in `map' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:640:in `run_examples' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb:606:in `run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:121:in `map' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb:2067:in `with_suite_hooks' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:116:in `block in run_specs' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/reporter.rb:74:in `report' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:115:in `run_specs' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:89:in `run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:71:in `run' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:45:in `invoke' # /Users/grigoravagyan/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/exe/rspec:4:in `<top (required)>' # /Users/grigoravagyan/.rbenv/versions/2.7.2/bin/rspec:23:in `load' # /Users/grigoravagyan/.rbenv/versions/2.7.2/bin/rspec:23:in `<main>'`
from cuprite.
@LosBandolero can you run this test in particular with CUPRITE_DEBUG=true
and show the output here?
from cuprite.
Related Issues (20)
- Proxy does not get set
- How do I debug the behavior of this gem?
- Cuprite does not appear to support `evaluate_script` HOT 1
- Setting a color input doesn't fire the change or input events
- Process forking causing cuprite/ferrum to never exit HOT 1
- 500 error, possibly related to web sockets with Ferrum
- Race condition leading to `Argument should belong to the same JavaScript world as target object` HOT 2
- What the best way to play with multiple/new windows or tabs? HOT 1
- fill_in with empty string does not call addEventListener('input') HOT 1
- Visibility issue upon replacing hidden nodes (Race condition)
- keydown event sent without key property HOT 5
- Obsolete nodes are not refreshed when using Capybara's #within and/or #synchronize HOT 2
- Release that references ferrum 0.14.0
- Scraping Blocked on Indeed Site HOT 1
- Capybara::Cuprite::InvalidSelector
- Loading all JS files from asset pipeline and packs folder for testing with capybara/rspec
- Tracing in tests
- Incorrect Element.scrollWidth property value
- compatibility with Emulation.setVirtualTimePolicy HOT 9
- Release/Publish new version of cuprite that depends on ferrum 0.15.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cuprite.