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

Cross Browser issue tracker #3207

Open
Bkucera opened this issue Jan 23, 2019 · 42 comments

Comments

@Bkucera
Copy link
Member

commented Jan 23, 2019

Tracking issue for progress on #310

Firefox in progress:

  • firefox support PR:#1359
  • [post-release candidate] capture video with extension API/screencast API

Chrome-headless in backlog:

  • support chrome headless issue:#832
  • capture video with screencast API #4791

IE11 in backlog:

@ianschmitz

This comment has been minimized.

Copy link

commented Feb 5, 2019

Should we include Edge in this list as well? Not sure how Edge fits in this list with the recent announcement to switch to use Chromium under the hood.

@Bkucera

This comment has been minimized.

Copy link
Member Author

commented Feb 5, 2019

@ianschmitz we currently haven't done any work towards Edge, but we'll keep this up to date

@danieltisdale

This comment has been minimized.

Copy link

commented Feb 27, 2019

@Bkucera Hi Ben! Very eager to start using Cypress in the future once there is more cross browser support. Any plans to include Safari as well?

@ganqqwerty

This comment has been minimized.

Copy link

commented Feb 28, 2019

The fact that cypress is Chrome-only is the only limiting factor that we have to start using it.

@Bkucera

This comment has been minimized.

Copy link
Member Author

commented Feb 28, 2019

@danieltisdale no progress specifically on safari, but the work we're doing for the other browsers should help lay the groundwork for supporting it in the future.

@bjowes

This comment has been minimized.

Copy link

commented Mar 15, 2019

Please reconsider supporting Edge!

IE11 is clearly the official browser within most large corporations, but as they are migrating to Windows 10 many are trying to replace IE11 with Edge as the official browser. Any E2E tools that have ambitions to be widely used in this market segment will have to support the major official browsers. With the current rate of progress, I am concerned that by the time Cypress actually supports IE11, Edge will have grown to be more important.

The current Edge browser is quite locked down. But if the rumours regarding a future Edge version supporting Chrome plugins turn into reality, it would seem that adding support for Edge will be easier than support for IE11.

@johanneslumpe

This comment has been minimized.

Copy link

commented Mar 29, 2019

@Bkucera is there a more actionable list of things that need to be done except the one in the description? Getting IE11 support working would be amazing and if there is stuff that can be done to help I'd be more than happy to give it a shot.

@johanneslumpe

This comment has been minimized.

Copy link

commented Mar 29, 2019

@bjowes Especially in government agencies it is very unlikely that IE11 is being replaced any time soon, so getting support there first seems like a good idea.

@DoctaCloak

This comment has been minimized.

Copy link

commented Apr 1, 2019

I second that @johanneslumpe. Would love to jump in on this.

@TSangani

This comment has been minimized.

Copy link

commented Apr 4, 2019

@Bkucera - Do you have an ETA for IE11 Support?

@YOU54F

This comment has been minimized.

Copy link

commented Apr 9, 2019

Chromium based Microsoft edge was released yesterday on insiders

https://www.microsoftedgeinsider.com/en-us/download/

would be cool to see if this works with Cypress, if I get some time, I might have a go

@a4xrbj1

This comment has been minimized.

Copy link

commented Apr 24, 2019

@Bkucera - any update on the progress? I second that the lack of any other browser support other than Chrome is a big downside for Cypress.

@jennifer-shehane

This comment has been minimized.

Copy link
Member

commented Apr 24, 2019

In order to offer cross-browser support, we first need to support native events. We also need to deliver all the features listed in this cross-browser tracking issue.

There is a lot of discovery involved in this process, so this is the closest estimation we can give - the more checkmarks we check off, the closer we are to delivering cross-browser support.

@johanneslumpe

This comment has been minimized.

Copy link

commented Apr 27, 2019

@jennifer-shehane Just to be clear: this means that you do not require/want community support on this, correct?

@jennifer-shehane

This comment has been minimized.

Copy link
Member

commented Apr 29, 2019

@johanneslumpe Collaboration can be quite difficult since a lot of this is hands on. But, the todo list is published and the PRs are public. Reviewing PR work is always helpful.

The branches with work are also published here.

@VSinghhh

This comment has been minimized.

Copy link

commented May 1, 2019

@jennifer-shehane you wrote
"There is a lot of discovery involved in this process, so this is the closest estimation we can give - the more checkmarks we check off, the closer we are to delivering cross-browser support."

I may have missed the estimation; but I would appreciate if you could provide the estimate when this is expected to work.

We are in the process of implementing automation test we previously had using selenium (java) and are happy to go with cypress but working with government clients means that IE11 compatibility is a must (and therefore that our tests execute on IE11). So far our experience with cypress has been really good (kudos on the fantastic job!), but sadly this is a bit of a dealbreaker for us as we have a very slim chance in changing the customers preset browser.

Would appreciate a rough estimation (and if the expectation is that it will take a few days, weeks or months, that's fine.... we'll be able to choose framework based on that).

@mightyiam

This comment has been minimized.

Copy link

commented May 1, 2019

@VSinghhh, I'm pretty sure that what @jennifer-shehane means regarding estimation, is that the estimation is not a time-frame, but the checklist itself. The checklist in the description of this issue.

@YOU54F

This comment has been minimized.

Copy link

commented May 14, 2019

So chromium based MSEdge was leaked for macosx

https://officecdn.microsoft.com/pr/C1297A47-86C4-4C1F-97FA-950631F94777/MacAutoupdate/MicrosoftEdgeCanary-76.0.151.0.pkg

Downloaded and then renamed package to not have spaces in it, as cypress would throw this error

➜ npx cypress run --browser /Applications/Microsoft\ Edge\ Canary.app/Contents/MacOS/Microsoft\ Edge\ Canary
We could not identify a known browser at the path you provided: `/Applications/Microsoft Edge Canary.app/Contents/MacOS/Microsoft Edge Canary`

The output from the command we ran was:

 Command failed: /bin/sh -c /Applications/Microsoft Edge Canary.app/Contents/MacOS/Microsoft Edge Canary --version
/bin/sh: /Applications/Microsoft: No such file or directory

After renaming the path, I got

➜  npx cypress run --browser /Applications/MSEdge.app/Contents/MacOS/MicrosoftEdgeCanary
We could not identify a known browser at the path you provided: `/Applications/MSEdge.app/Contents/MacOS/MicrosoftEdgeCanary`

The output from the command we ran was:

 Microsoft Edge 76.0.158.0 Canary

Need to check where the browser list is, to see if I can force it to recognise edge.

@flotwig

This comment has been minimized.

Copy link
Member

commented May 14, 2019

@YOU54F The browser list is here:

export const browsers: Browser[] = [

Add Edge with family: 'chrome'. I don't think it will work that easily, but maybe :)

@YOU54F

This comment has been minimized.

Copy link

commented May 14, 2019

@flotwig - worked better than expected! not bad for first time runs!

Screenshot 2019-05-14 at 22 59 23

Screenshot 2019-05-14 at 22 59 28

Screenshot 2019-05-14 at 23 11 03

Screenshot 2019-05-14 at 23 25 12

Screenshot 2019-05-14 at 23 26 02

Screenshot 2019-05-14 at 23 26 12

@flotwig

This comment has been minimized.

Copy link
Member

commented May 14, 2019

@YOU54F that's pretty awesome! What was broken, if anything?

@bahmutov

This comment has been minimized.

Copy link
Collaborator

commented May 15, 2019

@YOU54F

This comment has been minimized.

Copy link

commented May 15, 2019

@flotwig seems pretty kushdi out the box

@bahmutov it is indeed sir!

written up a blog post here

@bahmutov

This comment has been minimized.

Copy link
Collaborator

commented May 15, 2019

@YOU54F

This comment has been minimized.

Copy link

commented May 15, 2019

Hahaha no worries matey, got loads of respect for the hard work you lot are doing. (I actually follow you on here because every single Cypress repo I go to, you've had your hand in haha!)

I've posted it up on twitter here

https://twitter.com/YOU54F/status/1128451445697728517

@jtmorrisbytes

This comment has been minimized.

Copy link

commented Jun 7, 2019

Hello everyone! firstly I want to say I really like cypress. I would like to see this tool reach other browsers if possible. I was wondering if there was any way I could help get native events working. I would really want to see this get off the ground

@hdurix hdurix referenced this issue Jun 24, 2019
1 of 1 task complete
@metasean metasean referenced this issue Jul 2, 2019
6 of 10 tasks complete
@BenLevy1138

This comment has been minimized.

Copy link

commented Jul 9, 2019

I'm already set up to do cross-browser testing as well as some limited cross-platform testing, which I think is something we should be considering as well (i.e. we don't want to find ourselves in a situation where we discover after releasing to production that firefox and chrome work great as long as they're being run on an up-to-date, linux-like machine). We've got a pretty clear roadmap for expanding those capabilities, it's just a matter of time and will.

Another, related question we should be thinking about is how far back we want to test against older browser versions and legacy OS's. In my experience, it's been extremely valuable to make a decision in advance, based on some combination of customer needs and practical considerations.

From a testing/product perspective, the question would be, what's the cut off where we would say to a customer that they need to update or standardize their browsers, their OS's or etc. in order for us to be able guarantee support. IE11 is a good example, and one that's been mentioned above. The cost of developing a product that's compatible with any pre-IE11 version of Explorer generally does not cover the benefit of gaining the subset of users that still run IE7 (or whatever). Making that limitation an explicit feature of our product offerings simplifies development and testing massively and being thoughtful about those kinds of things is ultimately gonna be more productive than trying to anticipate ever increasingly exotic edge-cases even where that forces our sales team to say that there are some limitations to the solutions we offer... in my humble opinion.

@icfantv

This comment has been minimized.

Copy link

commented Sep 4, 2019

...what's the cut off where we would say to a customer that they need to update or standardize their browsers, their OS's or etc. in order for us to be able guarantee support[?]

@BenLevy1138 The answer to that question is, unfortunately, highly subjective based on a given company and a given customer. E.g. if one paying customer requires IE11, but they represent a small fraction of your overall user base, it's almost certainly not worth it. But if just one of your paying customers has 1m+ employees using your platform, you cannot just say "oh, we need you to upgrade your browser."

IT rollouts for something like this can literally take years of planning. Historically, companies have spent millions of dollars building custom, in-house applications to work on specific platforms/browsers (read: IE6) and getting them off of that is akin to moving a mountain.

@oflores2313

This comment has been minimized.

Copy link

commented Sep 13, 2019

Any update on where cross browser functionality stands? My company is looking to implement a new e2e framework but cross browser functionality is a big factor.

@dono-greeff

This comment has been minimized.

Copy link

commented Sep 20, 2019

Any update on where cross browser functionality stands? My company is looking to implement a new e2e framework but cross browser functionality is a big factor.

The status is in the OP

I think that was a find another solution as this is nowhere near close :P Last edit was January!

@lithqube

This comment has been minimized.

Copy link

commented Sep 27, 2019

Any update on where cross browser functionality stands? My company is looking to implement a new e2e framework but cross browser functionality is a big factor.

The status is in the OP

I think that was a find another solution as this is nowhere near close :P Last edit was January!

Hope this one comes sometime over this year 🧐

@dono-greeff

This comment has been minimized.

Copy link

commented Sep 27, 2019

Any update on where cross browser functionality stands? My company is looking to implement a new e2e framework but cross browser functionality is a big factor.

The status is in the OP

I think that was a find another solution as this is nowhere near close :P Last edit was January!

Hope this one comes sometime over this year 🧐

I for one am not holding my breath. I have gone with a different approach using an AI front end automation tool.

@a4xrbj1

This comment has been minimized.

Copy link

commented Sep 27, 2019

@serdaryesilmurat

This comment has been minimized.

Copy link

commented Sep 27, 2019

Cross browser functionality is a must for our company. Is there any alternative to Cypress to achieve that? Has anyone used CodeceptJS which provides a generic BDD style syntax over several tools like Selenium WebDriver, Protractor, Puppeteer etc.?

@Bkucera

This comment has been minimized.

Copy link
Member Author

commented Sep 27, 2019

Hi everyone, just updated the top-level to point to the relevant PRs on cross-browser support. Firefox #1359 is next up for release with only 15/3000 tests failing on that branch.

We've taken our time to be diligent about common-denominator features to avoid excessive breaking releases or deprecating APIs in wake of cross-browser support. Thank you all for your patience and look out for the merge of #1359 for Cypress Firefox support.

@ryan-snyder

This comment has been minimized.

Copy link
Contributor

commented Sep 27, 2019

@Bkucera If there's anything I can do in regards to this, let me know! I would love to help when/where I can. After I get a couple of other issues done, of course

@icfantv

This comment has been minimized.

Copy link

commented Sep 27, 2019

@serdaryesilmurat We've been using Selenium/Chauffeur and it's proven to be somewhat slow/flaky (although that's just as much on us as it is the product). We have to support IE11 and use SauceLabs but that, too, is quite slow and flaky so we've built our own AMIs for running in-house. Our teams/orgs that are using Cypress speak quite highly of it and from my observations, it's quite well-deserved.

We've started moving towards TestCafé with a decent degree of success. Briefly, what the Cypress API has in terms of being robust and well-though, TestCafé lacks in certain areas. It's simple and some of the design is not quite intuitive. However, our use case is somewhat unique and TestCafé does handle page interactions well.

All in all, I wouldn't say I love TestCafé, but it does fill a need that Cypress currently does not and my org's leadership felt (and I somewhat concur) that it's too risky to rely simply and solely on a product roadmap. Is there a discussion to be had about requiring test parity across browsers? Sure. However, we've been burned before by untested, cross-browser failures that weren't caught until production.

As @ryan-snyder offered above, I've reached out to @bahmutov to see what the plan is for cross-browser support and on what time frame but have not yet heard back. I currently can't promise dedicated resources, but doing so becomes a lot easier to sell to leadership if we were to know there was momentum at the project-level in this area.

@dono-greeff

This comment has been minimized.

Copy link

commented Sep 27, 2019

Which one? Not holding my breath either

Wanted to keep competition out of their issue thread but others have so why not then :P https://www.mabl.com/ check it out. Its really stable, fast and easy to script. For my team its great as we need to concentrate on our API's and lower levels. This frees up the time that used to get soaked up by maintenance etc.

@flotwig

This comment has been minimized.

Copy link
Member

commented Sep 27, 2019

@icfantv @Bkucera is actively working on it and posted an update above your comment: #3207 (comment)

@icfantv

This comment has been minimized.

Copy link

commented Sep 27, 2019

UPDATE: I found #5224 for IE11. It's blocked by the Firefox PR.

@flotwig Yes, I saw that, thanks. The way I read it was that it was for Firefox only? Was that not correct?

@Bkucera

This comment has been minimized.

Copy link
Member Author

commented Sep 27, 2019

@icfantv I had just updated the top-level with that link

just updated the top-level to point to the relevant PRs on cross-browser support.

@icfantv

This comment has been minimized.

Copy link

commented Sep 27, 2019

@Bkucera thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.