How to write E2E tests as an ex-Angular ex-Protractor user?


#1

Hi,

we’re currently investigate in using Ember instead Angular and looking for a good guide about how to write E2E tests for Ember similar to how we did it with Protractor in Angular, but can’t find good articles about this topic. As we understand it currently there is no “typical” E2E test for Ember, but integration tests. Right?

How do you test your apps? Do you even use something like Selenium/WebDriver?


#2

You get almost everything that you get from protractor and more with Ember. There’s some debate around that suggests you should drive your application from the outside using something Seleniumesque. My personal experience with both Selenium and the Protractor combination is one of painfully slow tests. I’ve use Rails with Capybara, Angular with Grunt + Protractor, etc, and they are all hideously slow.

One of the things I LOVE the most about Ember is the tight and super well thought out testing strategies. Having a test suite that runs thousands of both unit and integration tests in seconds is amazing.

If you want to see this kind of thing in action, I highly recommend cloning the Discourse project and running their test suite (it’s the things that this site is actually build on). I think that would give you the kind of confidence that there’s enough there for you to not miss Protractor and Selenium, in fact, you’ll probably be cursing yourself for not finding this out sooner :stuck_out_tongue_winking_eye:


#3

Thanks I’ll look into that, but where can I find the configuration files for tests in the Discourse repo? I’m interested in how they do cross-browser tests.


#4

I don’t know about the Discourse cross browser testing strategy.

As for Ember, because the tests are run in browser, you can use whichever you like. They also provide configuration for testem, which aids cross browser testing, simply adding additional platforms to testem.json makes it very straightforward.


#5

Thanks for the further details.