LearnBoost / soda

Selenium Node.JS adapter
http://labs.learnboost.com
464 stars 43 forks source link

thanks for your thoughts. #25

Open jubishop opened 13 years ago

jubishop commented 13 years ago

add then() to accompany and(). then() takes it's callback and enqueues it to guarantee that it will execute in order immediately after whatever the last selenium call was queued and immediately before the next one.

there are some cases where the combination of and() (which fires immediately) and inline callbacks (which fire after success on any individual selenium call) aren't adequate.

when trying to gain an access token for a facebook user, you get redirected to a url with the access token in the url's path. i want to be able to arbitrarily execute code once that access token has been gathered, but i want to still queue up my other selenium queries without having to wait for that callback to fire..

in my basic tests where i call a browser.waitFor*, then a browser.then(function(..)), followed by another browser.open(...) or whatever, the then seems to fire at the right moment, only after the waitFor is completed, and before the open() begins...