{"id":17316186,"url":"https://github.com/dtmilano/culebratester2-public","last_synced_at":"2025-04-04T21:07:06.025Z","repository":{"id":39745368,"uuid":"214093875","full_name":"dtmilano/CulebraTester2-public","owner":"dtmilano","description":"CulebraTester: Snaky Android Testing","archived":false,"fork":false,"pushed_at":"2025-02-27T16:08:27.000Z","size":755,"stargazers_count":153,"open_issues_count":5,"forks_count":30,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-28T20:06:38.049Z","etag":null,"topics":["android","automated-testing","testing-tools","ui-testing"],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","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/dtmilano.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}},"created_at":"2019-10-10T05:25:47.000Z","updated_at":"2025-03-18T01:56:01.000Z","dependencies_parsed_at":"2024-06-15T20:37:47.009Z","dependency_job_id":"dd485c16-9b7b-4623-a806-ff4e325b693c","html_url":"https://github.com/dtmilano/CulebraTester2-public","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtmilano%2FCulebraTester2-public","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtmilano%2FCulebraTester2-public/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtmilano%2FCulebraTester2-public/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dtmilano%2FCulebraTester2-public/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dtmilano","download_url":"https://codeload.github.com/dtmilano/CulebraTester2-public/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249524,"owners_count":20908212,"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":["android","automated-testing","testing-tools","ui-testing"],"created_at":"2024-10-15T13:12:01.822Z","updated_at":"2025-04-04T21:07:06.008Z","avatar_url":"https://github.com/dtmilano.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"#\"\u003e\u003cimg src=\"https://github.com/dtmilano/AndroidViewClient/wiki/images/culebra-logo-transparent-204x209-rb-border.png\" align=\"left\" hspace=\"0\" vspace=\"6\"\u003e\u003c/a\u003e\n\n# CulebraTester2-public\nCulebraTester: Snaky Android Testing\n\n### Welcome to CulebraTester2.\nAndroid testing can be complicated, time-consuming, and tedious.\nWhat if it didn’t have to be? \n\n**CulebraTester2** provides an API that facilitates the creation of tests and test automation tools and UI's.\nNot sure what we mean?\n\nContinue reading and see how you can run this early preview.\n\n\n  ⚠️ Warning    |\n:------------------|\n**This is an alpha version of CulebraTester2 expect changes** |\n\n\n\n# How to run CulebraTester2 ?\n1. Have your device or emulator connected to `adb`\n1. Install APKs\n   1. Download prebuilt **app** and **instrumentation** APKs from [Github Actions](https://github.com/dtmilano/CulebraTester2-public/wiki/Prebuilt-APKs)\n   1. or build from source and install\n      1. Copy `local.properties.SAMPLE` to `local.properties` and adapt the values to your environment\n      1. `./culebratester2 install` (or run `./gradlew installDebug installDebugAndroidTest`)\n1. Start server `bash \u003c(curl -sL https://git.io/JT5nc) start-server`\n      1. alternatively if you checked out the source you can run `./culebratester2 start-server` instead\n1. Open http://localhost:9987/ with a browser or `curl` \n1. You should see `CulebraTester2: Go to http://localhost:\u003cport\u003e/help for usage details.`\n1. If the previous request worked, you can try something more ambitious like http://localhost:9987/v2/uiDevice/screenshot\n1. Take a look at [CulebraTester2 API](https://mrin9.github.io/OpenAPI-Viewer/#/load/https%3A%2F%2Fraw.githubusercontent.com%2Fdtmilano%2FCulebraTester2-public%2Fmaster%2Fopenapi.yaml) or its spec [`openapi.yaml`](https://github.com/dtmilano/CulebraTester2-public/blob/master/openapi.yaml) for more info\n1. When you are done testing, navigating to http://localhost:9987/quit will terminate the server\n\n# Want to learn more?\nDetailed information can be found in the [CulebraTester2 wiki](https://github.com/dtmilano/CulebraTester2-public/wiki) wiki\n\n# AndroidViewClient\n**CulebraTester2** is the new backend for [AndroidViewClient/culebra](https://github.com/dtmilano/AndroidViewClient).\n\nIt can be used similarly to other backends with the following command options\n\n```\n-h, --use-uiautomator-helper     use UiAutomatorHelper Android app\n```\n\nfor example\n\n```sh\n$ dump -ah emulator-5554 | jq\n⚠️ CulebraTester2 server should have been started and port redirected.\n```\n```json\n{\n  \"id\": \"hierarchy\",\n  \"text\": \"Window Hierarchy\",\n  \"timestamp\": \"2020-10-12T02:18:45.639Z\",\n  \"children\": [\n    {\n      \"id\": 0,\n      \"parent\": -1,\n      \"text\": \"\",\n      \"package\": \"com.android.systemui\",\n      \"checkable\": false,\n      \"clickable\": false,\n      \"index\": 0,\n      \"content_description\": \"\",\n      \"focusable\": false,\n    ...\n```\n\nor set `useuiautomatorhelper=True` when you create a `ViewClient` object.\n\n# culebra\n**CulebraTester2** is a new implementation in Kotlin of [culebra](culebra.dtmilano.com).\n\nA Python client implementation can be found at **[CulebraTester2-client](https://github.com/dtmilano/CulebraTester2-client)**.\n\nThis previous version API specification can be found at [here](https://github.com/dtmilano/CulebraTester-public/wiki/RESTful-API). \n\n# Example\nThe script [simple-calculator-test](https://github.com/dtmilano/CulebraTester2-public/blob/master/simple-calculator-test) shows a rudimentary usage of this API by\n- starting Calculator activity\n- finding one of the digit buttons (can be specified or a random one is selected)\n- clicking on that button\n\n# UI\nWe mentioned **CulebraTester2** provides an API that facilitates the creation of test automation tools and UIs.\n\nHere we are, this is in the making.\n\n\u003ca href=\"http://www.youtube.com/watch?feature=player_embedded\u0026v=prE0aKoMLfc\" target=\"_blank\"\u003e\u003cimg src=\"http://img.youtube.com/vi/prE0aKoMLfc/0.jpg\" \nalt=\"CulebraTester2-ui preview\" width=\"560\" height=\"395\" border=\"1\" /\u003e\u003c/a\u003e\n\n# Communication\nFound issues? Use https://github.com/dtmilano/CulebraTester2-public/issues\n\nHave questions? Use https://stackoverflow.com/questions/tagged/androidviewclient.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtmilano%2Fculebratester2-public","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdtmilano%2Fculebratester2-public","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdtmilano%2Fculebratester2-public/lists"}