github.com/web-platform-tests/wpt.fyi@v0.0.0-20240530210107-70cf978996f1/README.md (about)

     1  # [web-platform-tests dashboard](https://wpt.fyi/) 📈
     2  
     3  [![GitHub Actions](https://github.com/web-platform-tests/wpt.fyi/workflows/Continuous%20Integration/badge.svg)](https://github.com/web-platform-tests/wpt.fyi/actions?query=workflow%3A%22Continuous+Integration%22+branch%3Amaster)
     4  
     5  wpt.fyi is a dashboard of cross-browser results for [web-platform-tests](https://github.com/web-platform-tests/wpt), the data for which is uploaded by external services, primarily from various CI integrations in the wpt repo.
     6  
     7  **Backend**: An [App Engine app](webapp/) for storing test run metadata and serving HTML
     8  
     9  **Frontend**: [Polymer elements](webapp/components/) for loading and visualizing test results
    10  
    11  ## Using the data
    12  
    13  All test result data is public. Please use our APIs to explore the data. For example, use the [results API](/api/README.md#apiresults) to download result summaries, and use the [runs API](/api/README.md#apiruns) to query runs and their metadata, which include links to other data like raw full reports.
    14  
    15  ### Product ID
    16  
    17  This is a tuple of browser name, browser version, os name, os version, serialized in the form of `browser[-version[-os[-version]]]` (`[]` means optional), widely used in our APIs as the `product` parameter.
    18  
    19  ## Development
    20  
    21  ### Setting up your environment
    22  
    23  You'll need [Docker](https://www.docker.com/). With Docker installed, start the development container:
    24  
    25  ```sh
    26  docker pull webplatformtests/wpt.fyi:latest   # Optional: this forces fetching the latest version, instead of using the locally cached version.
    27  ./util/docker-dev/run.sh
    28  ```
    29  
    30  This starts a Docker instance named `wptd-dev-instance`.
    31  
    32  ### Running locally
    33  
    34  Once the instance is running, you can fire up the web server in another terminal:
    35  
    36  ```sh
    37  ./util/docker-dev/web_server.sh
    38  ```
    39  
    40  This will build dependencies and start the Google App Engine development server inside `wptd-dev-instance`.
    41  
    42  Meanwhile, you'll also need to populate the app datastore with some initial data. In another terminal,
    43  execute the script which leverages `util/populate_dev_data.go` by running:
    44  
    45  ```sh
    46  ./util/docker-dev/dev_data.sh
    47  ```
    48  
    49  See [CONTRIBUTING.md](/CONTRIBUTING.md) for more information on local development.
    50  
    51  ## Miscellaneous
    52  
    53  ### WPT documentation page for each browser
    54  
    55  - Chromium: https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md
    56  - Firefox: https://wiki.mozilla.org/Auto-tools/Projects/web-platform-tests
    57  - WebKit: https://trac.webkit.org/wiki/WebKitW3CTesting
    58  
    59  ### Location of the WPT in each browser’s source tree
    60  
    61  - Chromium: [`src/third_party/blink/web_tests/external/wpt`](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/)
    62  - Firefox: [`testing/web-platform/tests`](https://dxr.mozilla.org/mozilla-central/source/testing/web-platform/tests)
    63  - WebKit: [`LayoutTests/imported/w3c/web-platform-tests`](https://trac.webkit.org/browser/trunk/LayoutTests/imported/web-platform-tests/wpt)
    64  
    65  ### You can run almost any WPT test on wpt.live
    66  
    67  Try out http://wpt.live/html/semantics/forms/the-input-element/checkbox.html
    68  
    69  This doesn't work with some HTTPS tests. Also be advised that the server is not intended for frequent large-scale test runs.
    70  
    71  ### Sources of inspiration
    72  
    73  - ECMAScript 6 compatibility table - https://kangax.github.io/compat-table/es6/
    74  - https://html5test.com/