手机自动化测试:appium源码分析之bootstrap十一

poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标。如果对课程感兴趣,请大家咨询qq:908821478。

GetName

package io.appium.android.bootstrap.handler;

 

import com.android.uiautomator.core.UiObjectNotFoundException;

import io.appium.android.bootstrap.*;

import org.json.JSONException;

 

/**

 * This handler is used to get the text of elements that support it.

 */

public class GetName extends CommandHandler {

 

  /*

   * @param command The {@link AndroidCommand} used for this handler.

   *

   * @return {@link AndroidCommandResult}

   *

   * @throws JSONException

   *

   * @see io.appium.android.bootstrap.CommandHandler#execute(io.appium.android.

   * bootstrap.AndroidCommand)

   */

  @Override

  public AndroidCommandResult execute(final AndroidCommand command)

      throws JSONException {

    if (!command.isElementCommand()) {

      return getErrorResult("Unable to get name without an element.");

    }

 

    try {

      final AndroidElement el = command.getElement();

      return getSucce***esult(el.getContentDesc());

    } catch (final UiObjectNotFoundException e) {

      return new AndroidCommandResult(WDStatus.NO_SUCH_ELEMENT, e.getMessage());

    } catch (final Exception e) { // handle NullPointerException

      return getErrorResult("Unknown error");

    }

  }

}

最终会调用UiObject.getContentDescription()方法获得控件当描述信息