{"id":14978866,"url":"https://github.com/testingisdocumenting/webtau","last_synced_at":"2025-05-15T09:09:23.436Z","repository":{"id":36985100,"uuid":"131867984","full_name":"testingisdocumenting/webtau","owner":"testingisdocumenting","description":"WebTau (web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, WebSocket, GraphQL, Browser, Database, CLI and Business Logic with a consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.","archived":false,"fork":false,"pushed_at":"2025-05-02T01:01:21.000Z","size":51314,"stargazers_count":372,"open_issues_count":7,"forks_count":39,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-02T02:20:08.465Z","etag":null,"topics":["cli","database","graphql","groovy","http","java","junit5","jvm","report","rest","rest-api","selenium","test-framework","testing","websocket"],"latest_commit_sha":null,"homepage":"https://testingisdocumenting.org/webtau/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/testingisdocumenting.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-05-02T15:08:55.000Z","updated_at":"2025-05-02T01:01:28.000Z","dependencies_parsed_at":"2023-09-26T17:08:10.491Z","dependency_job_id":"6d46555d-4910-45fa-8fa9-c6f799b793fd","html_url":"https://github.com/testingisdocumenting/webtau","commit_stats":{"total_commits":1528,"total_committers":7,"mean_commits":"218.28571428571428","dds":0.1354712041884817,"last_synced_commit":"6e8f567a4bbb5e23de35da012e94b56b5a719fa4"},"previous_names":["twosigma/webtau"],"tags_count":94,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fwebtau","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fwebtau/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fwebtau/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/testingisdocumenting%2Fwebtau/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/testingisdocumenting","download_url":"https://codeload.github.com/testingisdocumenting/webtau/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254310520,"owners_count":22049470,"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":["cli","database","graphql","groovy","http","java","junit5","jvm","report","rest","rest-api","selenium","test-framework","testing","websocket"],"created_at":"2024-09-24T13:58:33.214Z","updated_at":"2025-05-15T09:09:18.428Z","avatar_url":"https://github.com/testingisdocumenting.png","language":"Java","readme":"![build](https://github.com/testingisdocumenting/webtau/workflows/Build%20webtau/badge.svg)\n\n# Discord Server\n\nJoin `Testing Is Documenting` [Discord Server](https://discord.gg/aEHbzXTX6N) to ask questions and discuss features/bugs\n\n# WebTau\n\nWeb Test Automation [User Guide](https://testingisdocumenting.org/webtau/)\n\n![logo](webtau-docs/znai/webtau-logo.png)\n\nWebTau (**Web** **T**est **au**tomation) - concise and expressive way to write end-to-end and unit tests.\n\nTest your application across multiple layers and use unique features:\n* [REST API with Data Coverage](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#rest-api)\n* [Web Socket](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#websocket)\n* [GraphQL API](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#graphql-api)\n* [Authorization Personas](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#persona)\n* [Browser](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#browser)\n* [Fake, Static And Proxy Servers](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#fake-static-and-proxy-servers)\n* [Database](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#database)\n* [CLI](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#cli)\n* [Business Logic (JVM only)](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#business-logic-jvm)\n* [REPL](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#repl)\n* [Reporting](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#reporting)\n* [Documentation Assistance](https://testingisdocumenting.org/webtau/getting-started/what-is-this/#documentation-assistance)\n\nThere are many modules, but you can use any module you need independently, or use all the modules at once with convenient single imports.\n\n# Unique Console Output \n\nWebTau console output keeps you informed at all times:\n\n![image of http resource code and its output](webtau-docs/readme/live-price-http.png)\n\n[Data Coverage](https://testingisdocumenting.org/webtau/HTTP/data-coverage) output example:\n\n![image of http data coverage](webtau-docs/readme/http-data-coverage.png)\n\n# Supercharged Unit Testing Capabilities\n\n![image of map comparison](webtau-docs/readme/map-comparison-missing.png)\n\n# Testing Command Line Tools \n\nTesting command lines tools never been easier:\n\n```groovy\ndef helloWorld = cli.runInBackground(\"scripts/hello-world\")\nhelloWorld.output.waitTo contain(\"enter your name\")\n\nhelloWorld.send(\"webtau\\n\")\nhelloWorld.output.waitTo contain(\"hello webtau\")\n\nhelloWorld.stop()\n```\n\n[Learn More](https://testingisdocumenting.org/webtau/cli/foreground-command)\n\n# WebSockets\n\nUnbelievably simple way to wait and validate WebSocket messages:\n\n![image of websocket test code](webtau-docs/readme/websocket-output.png)\n\n[Learn more](https://testingisdocumenting.org/webtau/web-socket/received-messages)\n \n# Personas\n\n[Personas concept](https://testingisdocumenting.org/webtau/persona/introduction) lets you simplify Authorization Testing scenarios:\n\n![image of http persona groovy](webtau-docs/readme/http-persona-groovy.png)\n\n![image of http persona java](webtau-docs/readme/http-persona-java.png)\n\n# Java, Kotlin, Groovy Scripts\n\nTests can be written and [executed as scripts](https://testingisdocumenting.org/webtau/groovy-standalone-runner/introduction) via command line or using [JUnit integration](https://testingisdocumenting.org/webtau/junit5/getting-started) and build systems.\n\n*browser testing example using scripting*\n```groovy\nscenario(\"search by specific query\") {\n    search.submit(\"search this\")\n    search.numberOfResults.waitToBe \u003e 1\n}\n\n$ webtau testscript.groovy\n```\n\n*browser testing example using JUnit*\n```java\npublic class WebSearchJavaTest {\n    @Test\n    public void searchByQuery() {\n        search.submit(\"search this\");\n        search.numberOfResults.waitToBe(greaterThan(1));\n    }\n}\n```\n\n# Rich Reporting\n\nLeverage out of the box rich reporting to speed up investigation and persist testing evidences:\n\n![report example](https://testingisdocumenting.org/webtau/doc-artifacts/reports/report-crud-separated-http-calls.png)\n","funding_links":[],"categories":["项目","测试","Projects"],"sub_categories":["测试","Testing"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestingisdocumenting%2Fwebtau","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftestingisdocumenting%2Fwebtau","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestingisdocumenting%2Fwebtau/lists"}