{"id":14385105,"url":"https://github.com/MattiSG/Watai","last_synced_at":"2025-08-23T18:31:25.799Z","repository":{"id":3527229,"uuid":"4586403","full_name":"MattiSG/Watai","owner":"MattiSG","description":"Integration testing for the web of components","archived":true,"fork":false,"pushed_at":"2016-08-04T12:47:28.000Z","size":1440,"stargazers_count":61,"open_issues_count":65,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-08-09T18:53:56.146Z","etag":null,"topics":["integration-testing","quality","quality-assurance","selenium","test-engine","web","webcomponents"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MattiSG.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"license.AGPL.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-06-07T14:47:57.000Z","updated_at":"2025-03-04T11:10:18.000Z","dependencies_parsed_at":"2022-09-07T09:20:49.710Z","dependency_job_id":null,"html_url":"https://github.com/MattiSG/Watai","commit_stats":null,"previous_names":[],"tags_count":84,"template":false,"template_full_name":null,"purl":"pkg:github/MattiSG/Watai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiSG%2FWatai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiSG%2FWatai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiSG%2FWatai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiSG%2FWatai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MattiSG","download_url":"https://codeload.github.com/MattiSG/Watai/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattiSG%2FWatai/sbom","scorecard":{"id":91492,"data":{"date":"2025-08-11","repo":{"name":"github.com/MattiSG/Watai","commit":"679619ed98a86ba52024960aa7816ba1cfe60e66"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/11 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: license.AGPL.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.7.0 not signed: https://api.github.com/repos/MattiSG/Watai/releases/461479","Warn: release artifact v0.6.2 not signed: https://api.github.com/repos/MattiSG/Watai/releases/212040","Warn: release artifact v0.6.1 not signed: https://api.github.com/repos/MattiSG/Watai/releases/109394","Warn: release artifact v0.6.0 not signed: https://api.github.com/repos/MattiSG/Watai/releases/19279","Warn: release artifact v0.7.0 does not have provenance: https://api.github.com/repos/MattiSG/Watai/releases/461479","Warn: release artifact v0.6.2 does not have provenance: https://api.github.com/repos/MattiSG/Watai/releases/212040","Warn: release artifact v0.6.1 does not have provenance: https://api.github.com/repos/MattiSG/Watai/releases/109394","Warn: release artifact v0.6.0 does not have provenance: https://api.github.com/repos/MattiSG/Watai/releases/19279"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 24 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T08:00:23.882Z","repository_id":3527229,"created_at":"2025-08-15T08:00:23.882Z","updated_at":"2025-08-15T08:00:23.882Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271762955,"owners_count":24816842,"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","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["integration-testing","quality","quality-assurance","selenium","test-engine","web","webcomponents"],"created_at":"2024-08-28T18:01:57.511Z","updated_at":"2025-08-23T18:31:25.487Z","avatar_url":"https://github.com/MattiSG.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"Watai\n=====\n\nWatai _(Web Application Testing Automation Infrastructure)_ is a **declarative web integration testing** framework.\n\n[![Latest version](https://img.shields.io/github/release/MattiSG/Watai.svg)](https://github.com/MattiSG/Watai/releases)\n[![Code Climate](https://codeclimate.com/github/MattiSG/Watai.png)](https://codeclimate.com/github/MattiSG/Watai)\n[![Inline docs](http://inch-ci.org/github/MattiSG/Watai.svg?branch=master)](http://inch-ci.org/github/MattiSG/Watai)\n\nIt is both a test runner engine and a set of architectural patterns that help [front-end ops](http://www.smashingmagazine.com/2013/06/front-end-ops/)-conscious developers write **maintainable** and **solid** end-to-end tests. These tests automate web application navigation through actual browsers, checking whether such interactions present the expected information to the end users along the way, including through asynchronous operations.\n\nThis allows to automate demonstration of features, to detect regressions when updating code and, since the same tests can be run in almost any browser, to easily check cross-browser functional support.\n\n➥ Read more about [what is Watai](https://github.com/MattiSG/Watai/wiki/Definition).\n\n➥ Or watch a 4-minutes introduction:\n[![We're bad at web integration testing](http://img.youtube.com/vi/fLP3NKUsx3k/3.jpg)](https://youtu.be/fLP3NKUsx3k?t=17s)\n\n\nWhat a test looks like\n----------------------\n\nHave a look at a [simple example](https://github.com/MattiSG/Watai/tree/master/example/DuckDuckGo) or an [advanced example](https://github.com/MattiSG/Watai/tree/master/example/DuckDuckGo%20-%20advanced%20matchers)… or look at [real-world users](https://github.com/MattiSG/Watai/wiki/Examples)!\n\n\u003e Our 10-minutes [tutorial](https://github.com/MattiSG/Watai/wiki/Tutorial) walks you through an example to introduce all concepts. You don't even need to install the software to do it.\n\n\nInstalling\n----------\n\n\tnpm install --global selenium-server watai\n\n\u003e If you're not familiar with `npm install`, read the full [installation guide](https://github.com/MattiSG/Watai/wiki/Installing)  :)\n\nLet’s make sure you’re fully ready to use Watai by typing:\n\n\twatai --installed\n\n### Then, [get started with Watai](https://github.com/MattiSG/Watai/wiki/Tutorial)!\n\n\nStrengths\n---------\n\n- Enforcement of a highly decoupled, [component](http://addyosmani.com/blog/the-webs-declarative-composable-future/)-based architecture for maintainable tests.\n- Out-of-the-box support for async operations (AJAX…), as well as much more resilience than WebDriver, whose failures are wrapped.\n- Simple cascading configuration makes sharing tests across environments (dev, CI, prod) very easy.\n- Aiming for helpful error messages.\n- [High quality code](https://codeclimate.com/github/MattiSG/Watai) and [developer documentation](http://inch-ci.org/github/MattiSG/Watai), so that you can _actually_ fix things or add functionality without depending on the original developer.\n\n➥ Read more about [how Watai is different](https://github.com/MattiSG/Watai/wiki/Comparison) from other integration testing tools.\n\n- - - - - - -\n\nLicense\n-------\n\nThe code for this software is distributed under an [AGPL license](http://www.gnu.org/licenses/agpl.html). That means you may use it to test any type of software, be it free or proprietary. But if you make any changes to the test engine itself (i.e. this library), even if it is not redistributed and provided only as a webservice, you have to share them back with the community. Sounds fair?  :)\n\nContact the author if you have any specific need or question regarding licensing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMattiSG%2FWatai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMattiSG%2FWatai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMattiSG%2FWatai/lists"}