This tests that AXChildrenInNavigationOrder returns non-empty array from AXChildren.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS children0.length is 3
PASS children1.length is 3
PASS children0[i].role == children1[i].role is true
PASS children0[i].role == children1[i].role is true
PASS children0[i].role == children1[i].role is true
PASS successfullyParsed is true

TEST COMPLETE

