uiautomatorviewer-что означает NAF?

его мое понимание, что UIAutomator не может автоматизировать любые элементы, где NAF = true в uiautomatorviewer. Я искал повсюду, но я не могу за свою жизнь найти то, что означает NAF. Кто-нибудь знает?

3 ответов


"Не Дружит Доступность"

это элементы пользовательского интерфейса, которые, по-видимому, являются интерактивными, но которые не имеют доступности, таких как описания контента.

из источника AccessibilityNodeInfoDumper.java (часть uiautomator):

/**
 * We're looking for UI controls that are enabled, clickable but have no
 * text nor content-description. Such controls configuration indicate an
 * interactive control is present in the UI and is most likely not
 * accessibility friendly. We refer to such controls here as NAF controls
 * (Not Accessibility Friendly)
 *
 * @param node
 * @return false if a node fails the check, true if all is OK
 */
private static boolean nafCheck(AccessibilityNodeInfo node) {
    boolean isNaf = node.isClickable() && node.isEnabled()
            && safeCharSeqToString(node.getContentDescription()).isEmpty()
            && safeCharSeqToString(node.getText()).isEmpty();
    if (!isNaf)
        return true;
    // check children since sometimes the containing element is clickable
    // and NAF but a child's text or description is available. Will assume
    // such layout as fine.
    return childNafCheck(node);
}

NAF означает "не доступность дружественных".


, когда UIAutomator сталкивается с некоторой проблемой при разборе XML Layout на Android Application, это узел помечен как NAF "Not Accessibility Friendly". Мы не сможем автоматизировать эти элементы.