Tree inspection is one of the most useful parts of the testing package because it turns a visual hierarchy into something you can query and assert against directly.
Avalonia.HeadlessTestingFramework.VisualTreeTestHelper: visual-tree traversal helpersAvalonia.HeadlessTestingFramework.LogicalTreeTestHelper: logical-tree traversal helpersAvalonia.HeadlessTestingFramework.ControlFinder: fluent control-finding APIAvalonia.HeadlessTestingFramework.TreeXPath: XPath-like queries for tree traversalThese are a good fit when test code needs to locate controls by type, name, class, property, or relative position.
Avalonia.HeadlessTestingFramework.TreeValidator: declarative validation rules and summary outputAvalonia.HeadlessTestingFramework.TreeComparer: snapshot and diff workflows for visual or logical treesAvalonia.HeadlessTestingFramework.TemplateComparer: template-part and template-structure verificationExample validator usage:
window.Validate()
.RequireName("ZoomBorder")
.RequireType<Canvas>()
.AssertValid();
ControlFinder for ergonomic queries in everyday tests.TreeXPath when selector-style queries are easier to read than chained calls.TreeValidator when you need a small ruleset with strong failure messages.TreeComparer or TemplateComparer when regression detection matters more than imperative assertions.