{"id":15418150,"url":"https://github.com/asklar/xamltreedump","last_synced_at":"2025-04-19T14:40:22.461Z","repository":{"id":52304144,"uuid":"262694752","full_name":"asklar/XamlTreeDump","owner":"asklar","description":"A UWP library to produce and compare XAML tree dumps useful for visual end-to-end testing","archived":false,"fork":false,"pushed_at":"2023-06-28T21:43:49.000Z","size":90,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T08:43:44.373Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asklar.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":"2020-05-10T02:08:02.000Z","updated_at":"2023-06-28T21:30:14.000Z","dependencies_parsed_at":"2024-10-20T00:07:18.738Z","dependency_job_id":"4d90e330-4d54-4663-9997-620f014cb47f","html_url":"https://github.com/asklar/XamlTreeDump","commit_stats":{"total_commits":50,"total_committers":4,"mean_commits":12.5,"dds":"0.31999999999999995","last_synced_commit":"38fe46d0d331c79a3fa73d1ff21ec5e36942ab52"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asklar%2FXamlTreeDump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asklar%2FXamlTreeDump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asklar%2FXamlTreeDump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asklar%2FXamlTreeDump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asklar","download_url":"https://codeload.github.com/asklar/XamlTreeDump/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249716272,"owners_count":21315062,"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":[],"created_at":"2024-10-01T17:19:33.408Z","updated_at":"2025-04-19T14:40:22.439Z","avatar_url":"https://github.com/asklar.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XamlTreeDump\nA UWP library to produce and compare XAML tree dumps useful for visual end-to-end testing\n\nXamlTreeDump can be used to produce a data representation of a UWP XAML UI (\"tree dump\") and compare it to a checked-in version (\"master\") to detect regressions in visual output.\n\nThere are two main entrypoints to the library:\n```cs\npublic static string VisualTreeDumper.DumpTree(\n  DependencyObject root, \n  DependencyObject excludeNode,\n  IVector\u003cstring\u003e additionalProperties,\n  DumpTreeMode mode)\n```\nThis will traverse the tree starting at the root, skipping the optional `excludeNode`, and collect a set of standard properties - which you can add to through `additionalProperties`. The format of the dump can be switched between `Default` (a `key=value` text format), or the recommended `Json` format.\n\nThe string you receive from `DumpTree` can be saved to a file so that your test application can later use `TreeDumpHelper.DumpsAreEqual` to check for differences.\n\nThe second entrypoint:\n```cs\npublic static bool TreeDumpHelper.DumpsAreEqual(string expected, string actual)\n```\nwill perform a semantic comparison of the two dumps by following these rules:\n1) any property with a string value of `\u003cANYTHING\u003e` in the master will match any value in the output regardless of its type.\n2) numbers are compared to within a precision of 1.0f\n3) `DependencyObject`s with a `Visibility == Collapsed` will be compared as if they do not exist\n4) `ScrollBar` types will be ignored (since UI automation can sometimes hover over them and trigger them on accident)\n\nSee [UnitTests](https://github.com/asklar/XamlTreeDump/tree/master/src/UnitTests) for more usage and examples.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasklar%2Fxamltreedump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasklar%2Fxamltreedump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasklar%2Fxamltreedump/lists"}