Hi, everyone.

I've been writing Protractor tests for a huge application for the past 4 
months. During this time, I've struggled a lot with the fact that every 
browser interaction returns a promise.

Promises are a relevant, creative solution to async programming, but none 
of the tests I wrote so far really required async, and I have a feeling 
that, maybe, none will. Async feels like it's only there because of 
WebDriver (and Node), and I have to cope with the additional complexity for 
apparently no reason other than the fact that "Node should be async".

I have a very good understanding of promises now (honestly, I do), but they 
do make things harder for me regardless of understanding, because in 
Protractor they're absolutely everywhere. Perhaps I just need more 
practical experience, and my theoretical knowledge isn't so important, but 
in any case... It's not easy. My teammates don't know a lot of JavaScript, 
so working with Protractor has been a nightmare to them.

I'm aware there's no synchronous network module at the core of Node, but 
it's theoretically possible to implement one. In fact, I found this 
apparent fork of WebDriverIO that supports synchronous calls: 
https://github.com/jsdevel/webdriver-sync. Also, there's this module that 
provides basic synchronous TCP client functions: 
https://github.com/AnAppAMonth/syncnet.

I'm afraid this topic can get heated very easily, but I really want to try 
to open a discussion as to whether Protractor should be async or sync and 
what people think, especially Julie.

Is there a good reason to keep Protractor async?

And is anyone using Protractor with IO.js / generators? Maybe they can say 
that it's okay, once those land in Node, things will be easier?

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to