Skip to content

Cross Browser issue tracker #3207

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

Closed
3 tasks done
kuceb opened this issue Jan 23, 2019 · 51 comments
Closed
3 tasks done

Cross Browser issue tracker #3207

kuceb opened this issue Jan 23, 2019 · 51 comments
Assignees
Labels
browser: firefox Epic Requires breaking up into smaller issues pkg/server This is due to an issue in the packages/server directory topic: cross browser topic: video 📹

Comments

@kuceb
Copy link
Contributor

kuceb commented Jan 23, 2019

Update (Feb. 2020):

Cypress officially supports Firefox and (new)Edge!
Check out our blog post for the official announcement and future cross-browser roadmap

This issue will be closed; new browsers will have their own issues opened.


Tracking issue for progress on #310

Firefox:

Microsoft Edge:

Chrome-headless:

@jennifer-shehane jennifer-shehane added the Epic Requires breaking up into smaller issues label Jan 24, 2019
@jennifer-shehane jennifer-shehane added pkg/server This is due to an issue in the packages/server directory stage: in progress topic: video 📹 labels Jan 24, 2019
@ianschmitz
Copy link

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.

@kuceb
Copy link
Contributor Author

kuceb commented Feb 5, 2019

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

@danieltisdale
Copy link

@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
Copy link

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

@kuceb
Copy link
Contributor Author

kuceb 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
Copy link
Contributor

bjowes 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
Copy link

johanneslumpe 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
Copy link

@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
Copy link

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

@TSangani
Copy link

TSangani commented Apr 4, 2019

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

@YOU54F
Copy link
Contributor

YOU54F 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
Copy link

a4xrbj1 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
Copy link
Member

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
Copy link

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

@jennifer-shehane
Copy link
Member

@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
Copy link

VSinghhh 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
Copy link

mightyiam 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
Copy link
Contributor

YOU54F 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
Copy link
Contributor

flotwig 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
Copy link
Contributor

YOU54F 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

@metasean metasean mentioned this issue Jul 2, 2019
11 tasks
@BenLevy1138
Copy link

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
Copy link

icfantv 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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

a4xrbj1 commented Sep 27, 2019 via email

@serdaryesilmurat
Copy link

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.?

@kuceb
Copy link
Contributor Author

kuceb 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.

@icfantv
Copy link

icfantv 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
Copy link

dono-greeff 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
Copy link
Contributor

flotwig commented Sep 27, 2019

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

@icfantv
Copy link

icfantv 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?

@kuceb
Copy link
Contributor Author

kuceb 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
Copy link

icfantv commented Sep 27, 2019

@bkucera thanks!

@ale-grosselle
Copy link

Hi guys,
me and some of my colleagues are considering cypress.io and other similar tools.
Cypress.io we like a lot, but for us it is essential to test the features on Safari and IE11.

Could you give to us an indicative ETA? For us it would be very important.

thank you very much!

@tomkel
Copy link

tomkel commented Dec 19, 2019

You all should give out an ETA in exchange for a large donation :)

@infomaven
Copy link

infomaven commented Jan 5, 2020

@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.

That would also include healthcare.

@andrewmclagan
Copy link

Can we lock this thread down? I don’t know what the merits are of discussing IE11 market penetration. I’m guessing allot of devs have notifications on allot of issues this chat creates noise

@brettz9
Copy link

brettz9 commented Jan 9, 2020

Looks like the checkbox for #832 can be marked with the issue now closed (?)

@cayleyh
Copy link

cayleyh commented Jan 17, 2020

Echoing what others have said: would love to use Cyprus for work, but cannot justify it until there is support for Safari. 60%+ of our traffic for our websites and apps comes from mobile, and 60-70% of that is Mobile Safari. Safari & Mobile Safari are different enough from chrome (ie. our test suites contains enough breaking behavioural differences) that we cannot move to something that doesn't support it :(

@brettz9
Copy link

brettz9 commented Jan 23, 2020

Just in case this may have any bearing: https://github.com/microsoft/playwright

@jennifer-shehane
Copy link
Member

We are still actively working on releasing Firefox support. Currently the release is blocked by a garbage collection issue that causes Firefox to crash during some tests during cypress run. We're working with the Firefox team and also trying several creative workarounds to prevent the crashing. #1359

We are also working on releasing support for Microsoft Edge as part of this PR. #6181

They are currently targeted for the same release.

@cypress-io cypress-io locked and limited conversation to collaborators Jan 23, 2020
@amirrustam
Copy link
Contributor

All browsers referenced in this issue are now supported. This is reflected in #310.

New issues will be created for supporting other browsers.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
browser: firefox Epic Requires breaking up into smaller issues pkg/server This is due to an issue in the packages/server directory topic: cross browser topic: video 📹
Projects
None yet
Development

No branches or pull requests