Comments (3)
++
The same issue occurs if the setTimeout wraps remote.get
in my scenario.
I'm using [email protected] in Buster.JS's test runner to drive embedded Chromium. It's possible that webdriver code is executed in a setTimeout or some other delayed mechanism in the test runner.
from selenium.
I did some digging and so far I've only determined that reverting back to https://github.com/SeleniumHQ/selenium/blob/ecfefd32aba140f79f62986b0c7944c197c3ff03/javascript/webdriver/promise.js allows the code to continue.
from selenium.
Problem is the flow gets confused and deadlocks itself when a command is scheduled asynchronously when there's a dependency on the running task. Basic repo case:
var selenium = require('selenium-webdriver');
var flow = selenium.promise.controlFlow();
var task1 = flow.execute(function() {
console.log('Inside task 1:\n' + flow);
return selenium.promise.delayed(10);
}, 'task 1');
setTimeout(function() {
flow.execute(function() {
console.log('Inside task 2:\n' + flow);
return task1; // Create dependency on task 1 result.
}, 'task 2');
console.log('Scheduled task 2:\n' + flow);
}, 0);
flow.once('idle', function() {
console.log('All done');
});
Output:
Inside task 1:
ControlFlow::1
| Frame::4
| | (pending) Task::3<task 1>
| | | (active) Frame::5
Scheduled task 2:
ControlFlow::1
| Frame::4
| | (pending) Task::3<task 1>
| | | (active) Frame::5
| | | | Task::12<task 2>
Inside task 2:
ControlFlow::1
| Frame::4
| | (pending) Task::3<task 1>
| | | Frame::5
| | | | (pending) Task::12<task 2>
| | | | | (active) Frame::13
Need to update the flow to differentiate between this and legit sub-commands.
from selenium.
Related Issues (20)
- [🐛 Bug]: Minitest::UnexpectedError: Selenium::WebDriver::Error::NoSuchWindowError: no such window HOT 9
- [🐛 Bug]: why the docker image selenium/standalone-firefox supports proxy,but chrome doesn't? HOT 1
- [🐛 Bug]: After webdriver.close and quit(), reinstantiating ChromeDriver throws SessionNotCreatedException(JAVA) HOT 2
- [🐛 Bug]: BiDi events are not fired in order HOT 4
- [🐛 Bug]: Unable to handle window management popup while opening a new window HOT 1
- [🐛 Bug]: Selenium unable to connect to Chrome 128 when not directly installed HOT 10
- [🐛 Bug]: Selenium BIDI network interception facing an issue with the "network.provideResponse" method HOT 1
- [🚀 Feature]: turn off animation or wait for finish animation HOT 2
- [🐛 Bug]: Timeout set to 16 minutes, but always fails with timeout after 9 minutes HOT 9
- [🐛 Bug]: Cannot connect Nodes to Selenium Hub using Https protocol; HOT 3
- [🐛 Bug]: Testing a chrome problem using chromedriver HOT 2
- [🐛 Bug]: No more UnhandledAlertException with Firefox 129 and problem with BiDi handling of confirmation dialog with Chrome HOT 1
- [🚀 Feature]: Switch to remote driver using an environment variable HOT 5
- [🚀 Feature]: Use self-managed browsers in Docker containers
- [🐛 Bug]: Error after updating to Chrome 128 HOT 7
- [🐛 Bug]: Race condition in ruby library for capybara system tests HOT 3
- [🐛 Bug]: Selenium edge driver cannot go to extension page using codes HOT 2
- [🐛 Bug]: eservice HOT 2
- [🐛 Bug]: "--headlessmode=new" with Chromedriver 128 in container results in SessionNotCreatedException HOT 5
- [🚀 Feature]: Make a separate patch release for the patch release artifacts 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 selenium.