1、背景
robotium 没有像appium一样可以通过ID直接实现定位的api,需要封装从而达到通过id实现输入或者点击等事件
2、前置条件
2.1 选择android版本
eclipse 选择项目 => 右键 => 选择 Properties
2.2 项目已引用robotium的jar包
eclipse 选择项目 => 右键 => 选择 Properties
2.3 import类
import com.robotium.solo.Solo; import android.view.View; import android.widget.EditText; |
3、具体实现
3.1 点击事件
public Boolean clickById(Solo msolo,String idname,int sleeptime) {Boolean result = false; try { }int locatId=msolo.getCurrentActivity().getResources().getIdentifier(idname, "id", msolo.getCurrentActivity().getPackageName());view = msolo.getView(locatId);msolo.clickOnView(view);msolo.sleep(sleeptime);return result = true;} catch (Exception e) { |
入参说明:
msolo:Solo对象
idname:uiautomatorviewer获取的id名字,见截图
sleeptime:休眠时间
3.2 输入事件
public Boolean imputTextById(Solo msolo,String idname,String imputString,int sleeptime) {Boolean result = false; int locatId=msolo.getCurrentActivity().getResources().getIdentifier(idname, "id", msolo.getCurrentActivity().getPackageName());view = (EditText)msolo.getView(locatId);msolo.clearEditText(view); //先清空输入框,再输入msolo.enterText(view, imputString);msolo.sleep(sleeptime);return result = true; } catch (Exception e) { // TODO: handle exceptionthrow new RuntimeException(e); } |
入参说明:
msolo:Solo对象
idname:定位的id名称
imputString:需要输入的字符串
sleeptime:休眠时间
备注:如果需要清空输入框,在输入前先清空(clearEditText),否则会在原有基础上输入