Skip to content
This repository has been archived by the owner on Jan 26, 2023. It is now read-only.

Build the BrowserStack of Web3 #184

Open
owocki opened this issue Sep 21, 2020 · 17 comments
Open

Build the BrowserStack of Web3 #184

owocki opened this issue Sep 21, 2020 · 17 comments

Comments

@owocki
Copy link
Contributor

owocki commented Sep 21, 2020

Inspired by https://twitter.com/owocki/status/1307742287602970636

I would like someone to build a regression testing service that allows me to test my dApp's checkout flow across multiple web3 wallets (metamask, argent, brave, portis, formatic, status, coinbase wallet, metamask mobile .. ).

i'm drowning in permutations to test here, and wasting massive resources.

Requirements:

  • Supports Metamask, WalletConnect, Authereum, Portis, Fortmatic, Brave (Desktop Wallets)
  • Supports Status, Coinbase Wallet, and other mobile wallets too.
  • Your service runs/operates the servers who run the tests.
  • I have to do nothing besides pay you a monthly amount + write some tests in a selenium-style driver in python (it must be easy to write 1 test + replay it across multiple browser/wallet permutations)
  • Your system can report failures back to CircleCI/TravisCI or similar.
@gitcoinbot
Copy link
Member

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 30.0 ETH (10375.77 USD @ $345.86/ETH) attached to it.

@gitcoinbot
Copy link
Member

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 266 years, 1 month from now.
Please review their action plans below:

1) vbstreetz has started work.

Super excited to work on this. My plan is to implement an heroku style testing bed where it runs on every push to a github repository. I’ll be implementing 2 things: a python library that creates a selenium driver instance and provides such utility functions as readying a particular web3 client, accepting a transaction signing prompt etc. The second is a docker image that pre-builts the latest chrome, chromedriver and packages unpacked versions of the extension based web3 clients ready to use. Appium/Genymotion will have to be used in the case of the mobile wallets. Am confident that most wallets will be supported and so looking forward to turning this into an eventual SAAS product!
2) psudoanon has started work.

Hey,

I have experience working with desktop and mobile web application test automation frameworks and providing a service centred around Web 3.0, making it as easy as possible to ensure dApp compatibility across multiple crypto wallets, sounds like an awesome way to help the community grow. Mobile wallet support will definitely be a little more complicated (I'm not even sure we could test iOS mobile wallets that aren't open source) but aiming for desktop, Android and open source iOS wallet support at first would be reasonable. Getting it working on real world devices would be awesome too but that would involve starting without a cloud hosting solution and would definitely be part of the roadmap. I've actually built something quite similar to this in the past for a mobile application company which I worked at and it was all in house at the time. Let me know what you think :)

Learn more on the Gitcoin Issue Details page.

1 similar comment
@gitcoinbot
Copy link
Member

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 266 years, 1 month from now.
Please review their action plans below:

1) vbstreetz has started work.

Super excited to work on this. My plan is to implement an heroku style testing bed where it runs on every push to a github repository. I’ll be implementing 2 things: a python library that creates a selenium driver instance and provides such utility functions as readying a particular web3 client, accepting a transaction signing prompt etc. The second is a docker image that pre-builts the latest chrome, chromedriver and packages unpacked versions of the extension based web3 clients ready to use. Appium/Genymotion will have to be used in the case of the mobile wallets. Am confident that most wallets will be supported and so looking forward to turning this into an eventual SAAS product!
2) psudoanon has started work.

Hey,

I have experience working with desktop and mobile web application test automation frameworks and providing a service centred around Web 3.0, making it as easy as possible to ensure dApp compatibility across multiple crypto wallets, sounds like an awesome way to help the community grow. Mobile wallet support will definitely be a little more complicated (I'm not even sure we could test iOS mobile wallets that aren't open source) but aiming for desktop, Android and open source iOS wallet support at first would be reasonable. Getting it working on real world devices would be awesome too but that would involve starting without a cloud hosting solution and would definitely be part of the roadmap. I've actually built something quite similar to this in the past for a mobile application company which I worked at and it was all in house at the time. Let me know what you think :)

Learn more on the Gitcoin Issue Details page.

@owocki
Copy link
Contributor Author

owocki commented Sep 23, 2020

just made this a permissionless/contest. i dont want to approve people to work on it, if you want to pursue the market opportunity you should

@kelonye
Copy link

kelonye commented Sep 26, 2020

hey! got a start at this with a test of metamask extension https://youtu.be/Roop5yAQZkA (example shows searching for claimable UNI tokens, given a mnemonic phrase).

looks like the setup of most of the rest of the browser web3 clients require scanning some qr code via a phone. one option is to take a screenshot of this and send it to another process that runs an android emulator that has the target mobile app installed. i'll spend some few days to try and see if we can accomplish this w/ appium.

@owocki
Copy link
Contributor Author

owocki commented Sep 28, 2020 via email

@kelonye
Copy link

kelonye commented Oct 9, 2020

hey. made some progress on metamask mobile https://youtu.be/_1ScAcd4QIc but it seems it won't be feasible to interact with a webpage opened in it :(

wix/Detox#334 (comment)
wix/Detox#136 (comment)

i'll continue researching though..

@owocki
Copy link
Contributor Author

owocki commented Oct 12, 2020 via email

@walidmujahid
Copy link

hey. made some progress on metamask mobile https://youtu.be/_1ScAcd4QIc but it seems it won't be feasible to interact with a webpage opened in it :(

wix/Detox#334 (comment)
wix/Detox#136 (comment)

i'll continue researching though..

@vbstreetz I have only skimmed through this issue thread, and I am in no way an expert at automating tests of any kind, however, for MetaMask's react native app, would this be of help to you: https://appiumpro.com/editions/76-testing-react-native-apps-with-appium

@kelonye
Copy link

kelonye commented Oct 17, 2020 via email

@walidmujahid
Copy link

walidmujahid commented Oct 17, 2020 via email

@kelonye
Copy link

kelonye commented Oct 17, 2020 via email

@walidmujahid
Copy link

walidmujahid commented Oct 17, 2020 via email

@kelonye
Copy link

kelonye commented Oct 17, 2020 via email

@walidmujahid
Copy link

walidmujahid commented Oct 17, 2020 via email

@gitcoinbot
Copy link
Member

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 30.0 ETH (52410.07 USD @ $1798.96/ETH) has been submitted by:


@gitcoinbot
Copy link
Member

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 30.0 ETH (53968.77 USD @ $1792.96/ETH) attached to this issue has been cancelled by the bounty submitter

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

No branches or pull requests

4 participants