robotium通过id实现输入或者点击事件

xiaoxiao2021-02-28  114

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; View view; if(idname=="" || idname == null){ return result; } 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) { // TODO: handle exception throw new RuntimeException(e); } }   入参说明: msolo:Solo对象 idname:uiautomatorviewer获取的id名字,见截图 sleeptime:休眠时间

3.2 输入事件

public Boolean imputTextById(Solo msolo,String idname,String imputString,int sleeptime) { Boolean result =  false; EditText view; if (idname=="" || imputString =="") { return result; } try { 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 exception throw new RuntimeException(e); } } 入参说明: msolo:Solo对象 idname:定位的id名称 imputString:需要输入的字符串 sleeptime:休眠时间 备注:如果需要清空输入框,在输入前先清空(clearEditText),否则会在原有基础上输入
转载请注明原文地址: https://www.6miu.com/read-47683.html

最新回复(0)