{"repo":"block/radiography","free":true,"listed":false,"github":"https://github.com/block/radiography","clone":"git clone https://github.com/block/radiography.git","description":"Text-ray goggles for your Android UI.","language":"Kotlin","stars":896,"topics":["android","ui","debugging","compose"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"Radiography Text-ray goggles for your Android UI. Usage Result example Jetpack Compose support FAQ License Usage Add the radiography dependency to your app's build.gradle file: Radiography.scan() returns a pretty string rendering of the view hierarchy of all windows managed by the current process. You can print a subset of the view hierarchies by specifying a ScanScope . By default, Radiography will scan all the windows owned by your app. Result example This sample app lives in this repo in the sample directory. Custom Hierarchy Exploration The Radiography.scan function provides a String representation of the view hierarchy, but you can also work with the raw hierarchy data directly if you want to programmatically explore it and integrate it into your own custom tools. Use the ScanScopes object to identify the root of a hierarchy you want to explore. You can use the resulting ScannableView objects, and their ScannableView.children , to explore the hierarchy. For example, to get the hierarchy starting with a specific Compose test tag in a given activity, you can do this: The information provided by the ScannableView.ComposeView can be powerful. In particular, the semantic information can be used to validate certain expectations and programmatically test your application. For example: Jetpack Compose support Jetpack Compose is Google's new declarative UI toolkit. It is a completely new implementation, and does not use Android views itself (although it interoperates with them se","default_branch":null,"files":null,"tree":[],"storefront":"/r/block","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/block/radiography/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}