Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try moving end-to-end tests to cypress.io #1316

Closed
mattkrick opened this issue Aug 31, 2017 · 7 comments
Closed

Try moving end-to-end tests to cypress.io #1316

mattkrick opened this issue Aug 31, 2017 · 7 comments
Assignees

Comments

@mattkrick
Copy link
Member

The new hotness that is supposedly replacing selenium is cypress. A dead-simple example is here: https://dashbouquet.com/blog/frontend-development/cypressio-and-docker-the-ultimate-e2e-stack-part-1

I love the API. It looks a LOT like my MockDB that i made for testing server functions. When we get time, I'd like to try to move our manual e2e tests to it & see how it works.

@jordanh
Copy link
Contributor

jordanh commented Sep 23, 2017

This is really hot. This could be a good first activity for Dan...Looking forward to discussing!

@jordanh jordanh added this to the Epic 7: Freemium milestone Sep 26, 2017
@jordanh jordanh assigned mattkrick and unassigned mattkrick Sep 26, 2017
@mattkrick mattkrick assigned dan-f and unassigned mattkrick Sep 27, 2017
@dan-f
Copy link
Contributor

dan-f commented Sep 27, 2017

Definitely seems interesting. I think this warrants a comparison between a WebDriver-based system and cypress. Looks like cypress doesn't use WebDriver at all, meaning your tests are run in the browser within the same context as your app. I'm trying to better understand what the implications of that design decision are; at the very least, seems like cypress and action will be sharing a runtime / DOM.

The API and debugging tools definitely look nice!

Another thing to note is that they currently only support Chrome-based browsers.

@mattkrick
Copy link
Member Author

IMO i'm OK with starting with chrome for now, especially since they mention more browsers are coming (although i won't hold my breath).
I'm less concerned with "this works on chrome but not firefox" and more concerned with "the signout button no longer works". Sure, there are a couple cases where this isn't the case (draft-js has a firefox bug that hasn't been fixed yet) but we wouldn't catch those bugs anyways since the goal is not 100% code coverage with e2e tests (that'd be waaay to time consuming to write and test). When those cross-browser bugs get patched (either by the browser or the package), they rarely regress, which means running an e2e test for a bug that we haven't seen for the last 12 months is just wasted time. So for those, I suppose I'd take the StackOverflow approach to bugs & let the customers tell us about them & then that allows us to fix the bug, give them a free month, get them stoked on us, etc.

@dan-f
Copy link
Contributor

dan-f commented Oct 4, 2017

I had another thought this morning on cypress v. webdriver. Seems to me that webdriver would enable us to test realtime behavior, since we can drive two browsers in parallel. I'm not exactly sure what the story is here for cypress, since tests are executed within the browser runtime.

@ackernaut
Copy link
Member

Ah, are you thinking we could simulate 2 users at once? (facilitator and participant, inviter and invitee, realtime interactions, etc.) or am I misunderstanding?

@dan-f
Copy link
Contributor

dan-f commented Oct 4, 2017

@ackernaut - that's exactly what I'm thinking.

@dan-f dan-f mentioned this issue Oct 13, 2017
@mattkrick
Copy link
Member Author

fixed in #1413

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants