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

Open Browser Extension Feature #14808

Open
Bartlebyy opened this issue Jan 28, 2021 · 21 comments
Open

Open Browser Extension Feature #14808

Bartlebyy opened this issue Jan 28, 2021 · 21 comments
Labels
E2E Issue related to end-to-end testing type: feature New feature that does not currently exist

Comments

@Bartlebyy
Copy link

What would you like?

I want a feature to be able to click on a chrome extension and open it. Similar to where people visit a page, visit/open a chrome extension.

Why is this needed?

I want to use cypress to test our chrome extension, and from querying https://gitter.im/cypress-io/cypress# it looks like I'm far from being the only one who wants this.

You have plugin code letting users load their chrome extensions, but then don't have any documentation showing users how to then open it.

And users then read through your docs assuming you support this and then find nothing on opening it. They then go to your customer chat and get no replies back time and time again ( I stopped looking at past requests after 5 of them were ignored). It's a very frustrating experience.

Please add the functionality to open the extension. You're almost there for supporting extension users, and you already tackled the hard part already.

@bahmutov
Copy link
Contributor

Hi @Bartlebyy what do you mean by "open an extension"? Can you provide screenshots and videos of what do you expect to happen? Can you provide an example extension and the test you are trying to write? Are you testing an extension or want to use 3rd party extension while writing tests?

@Bartlebyy
Copy link
Author

I mean being able to click on an extension directly.

I work on the extensions team at Calendly and are looking for alternative tools to use for testing our Chrome and Firefox extensions.

I see you support being able to load a locally created chrome extension, but are unable to actually click on the extension. (Think lastpass extension, you need to click on it to use it)

Our tool when you click on it adds a sidebar to the users DOM.

gif

@Bartlebyy
Copy link
Author

So in theory, since I'm new at this I'd want
cy.open_extension('calendly')
see "Welcome to Calendly for Chrome" appear on screen
click login button, etc.

@bahmutov
Copy link
Contributor

Let us think about this, I think it makes more sense to load the extension in the main iframe, so you can interact with it

@jennifer-shehane
Copy link
Member

Our other issue for supported testing Chrome extensions: #1965

@cypress-bot cypress-bot bot added the stage: proposal 💡 No work has been done of this issue label Feb 2, 2021
@jennifer-shehane jennifer-shehane added the type: feature New feature that does not currently exist label Feb 2, 2021
@metal450
Copy link

Also need the ability to open & test Chrome extension popups

@Beaulieu527
Copy link

Also need this feature! Has anyone figured out a way to do it programmatically with a custom command?

@julian-odroqa
Copy link

Any updates on this feature pls?

@eldiegod
Copy link

Now that web3 is big out there this is even more important than ever

@jonreiland
Copy link

Now that web3 is big out there this is even more important than ever

Seconding this statement. My team is trying to test our blockchain-enabled web app that supports Metamask. A way to automate Metamask interactions would be ideal.

@cypress-bot cypress-bot bot added stage: backlog and removed stage: proposal 💡 No work has been done of this issue labels Apr 29, 2022
@cypress-io cypress-io deleted a comment from Limpisey168 May 5, 2022
@flotwig flotwig changed the title Open Chrome Extension Feature Open Browser Extension Feature May 5, 2022
@briareus-the-titan
Copy link

Let us think about this, I think it makes more sense to load the extension in the main iframe, so you can interact with it

Can you give an example of how this would work?

@jmitchell-figure
Copy link

jmitchell-figure commented Jan 12, 2023

Would love to see this as well. Our team is working with dApps and I would like to be able to test our wallet connect extension for transferring assets to/from a wallet. Currently I have the chrome extension setup correctly and it will load, but then Cypress can never find the iframe to interact with it.

@diegorafaelgraf
Copy link

Are you planning to include this feature in a future version?

@NorseGaud
Copy link

For me, it's important to open my Vertically Listed Tabs popup on the left side of the browser, not inside of it. It's a separate window, which I am guessing is a ton of extra complexity.

@diegorafaelgraf
Copy link

In my case I need to test using the metamask extension and I'm stuck because I can't interact with the plugin. maybe someone solved it in some other way?

@networkmonkey
Copy link

Could we please have some work around this done, having the ability to test and interact with extensions setting would hopefully port more people to cypress

@rkefi
Copy link

rkefi commented Feb 23, 2023

Any updates on supporting extension interaction?
Adding +1 for the web3 case
Thx

@NanoRoss
Copy link

For these kinds of things that users have been demanding for years, Selenium will continue to be the number one.

@nagash77 nagash77 added the E2E Issue related to end-to-end testing label Apr 19, 2023
@philpetrov
Copy link

Hi, i need to work with metamask, playwright has method bringToFront. Do cypress have some updates?

@eldiegod
Copy link

eldiegod commented Aug 3, 2023 via email

@BirgitPohl
Copy link

I'm thinking of creating a local server to run and test my chrome extension. But this is like extra-code.

However, currently I'm trying out Cypress component testing and utilising it to test a couple of page-sized components.

Still I'm facing a lot of issues, for example. It doesn't recognize the namespace chrome, so I can't play around with the localStorage and therefore load my component.

Why did I even look into testing the app? I am encountering bugs that I frequently built in, so I need something that prevents me from doing that.

Screenshot 2024-08-22 at 15 07 49

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E2E Issue related to end-to-end testing type: feature New feature that does not currently exist
Projects
None yet
Development

No branches or pull requests