{"id":13608375,"url":"https://github.com/MetaMask/test-dapp","last_synced_at":"2025-04-12T17:31:20.059Z","repository":{"id":37894196,"uuid":"223073802","full_name":"MetaMask/test-dapp","owner":"MetaMask","description":"The sample dapp used for e2e testing and metamask-extension QA","archived":false,"fork":false,"pushed_at":"2025-04-10T10:10:41.000Z","size":14979,"stargazers_count":613,"open_issues_count":45,"forks_count":354,"subscribers_count":72,"default_branch":"main","last_synced_at":"2025-04-10T11:39:03.872Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://metamask.github.io/test-dapp/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MetaMask.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":"metamask","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-11-21T02:48:13.000Z","updated_at":"2025-04-10T06:50:14.000Z","dependencies_parsed_at":"2024-01-19T10:11:45.468Z","dependency_job_id":"679f95d1-a4b9-449e-9974-f8e7fea2f229","html_url":"https://github.com/MetaMask/test-dapp","commit_stats":{"total_commits":174,"total_committers":30,"mean_commits":5.8,"dds":0.7068965517241379,"last_synced_commit":"ca4547191bf7e3d143e77d418686fefdfe36411b"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Ftest-dapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Ftest-dapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Ftest-dapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MetaMask%2Ftest-dapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MetaMask","download_url":"https://codeload.github.com/MetaMask/test-dapp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248605051,"owners_count":21132100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T19:01:26.795Z","updated_at":"2025-04-12T17:31:18.751Z","avatar_url":"https://github.com/MetaMask.png","language":"JavaScript","readme":"# MetaMask Test Dapp\n\nThis is a simple test dapp for use in MetaMask e2e tests and manual QA.\n\nCurrently hosted [here](https://metamask.github.io/test-dapp/).\n\n## Usage\n\nIf you wish to use this dapp in your e2e tests, install this package and set up a script of e.g. the following form:\n\n```shell\nstatic-server node_modules/@metamask/test-dapp/dist --port 9011\n```\n\nThe main page of the test dapp includes a simple UI featuring buttons for common dapp interactions.\n\nThere is a second page (`request.html`) that allows making requests directly to the provider using query parameters. This provides a simple way of testing RPC methods using an in-page provider.\n\nIt can be used by navigating to `/request.html?method=${METHOD}\u0026params=${PARAMS}` (e.g. `/request.html?method=eth_getLogs\u0026params=[{ \"address\": \"0x0000000000000000000000000000000000000000\" }]`). The page will make a request with the given RPC method and parameters using `ethereum.request`, and report the result as plain text.\n\n## Contributing\n\n### Setup\n\n- Install [Node.js](https://nodejs.org) version 16\n  - If you are using [nvm](https://github.com/creationix/nvm#installation) (recommended) running `nvm use` will automatically choose the right node version for you.\n- Install [Yarn v1](https://yarnpkg.com/en/docs/install)\n- Run `yarn setup` to install dependencies and run any required post-install scripts\n  - **Warning:** Do not use the `yarn` / `yarn install` command directly. Use `yarn setup` instead. The normal install command will skip required post-install scripts, leaving your development environment in an invalid state.\n\n### Testing and Linting\n\nRun `yarn lint` to run the linter, or run `yarn lint:fix` to run the linter and fix any automatically fixable issues.\n\nThis package has no tests.\n\n### Deploying\n\nAfter merging or pushing to `main`, please run `yarn deploy` in the package root directory if the contents of the `dist/` directory have changed.\n\n### Development\n\n#### Elements Must Be Selectable by XPath\n\nAll HTML elements should be easily selectable by XPath.\nThis means that appearances can be misleading.\nFor example, consider this old bug:\n\n```html\n\u003cbutton\n  class=\"btn btn-primary btn-lg btn-block mb-3\"\n  id=\"approveTokensWithoutGas\"\n  disabled\n\u003e\n  Approve Tokens Without Gas\n\u003c/button\u003e\n```\n\nThis appears on the page as `Approve Tokens Without Gas`. In reality, the value included the whitespace on the second line, and caused XPath queries for the intended value to fail.\n","funding_links":["https://opencollective.com/metamask"],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMetaMask%2Ftest-dapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMetaMask%2Ftest-dapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMetaMask%2Ftest-dapp/lists"}