多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Robotium之无法识别控件点击-自动化测试

更新时间:2022-04-28 09:09:19 作者:多测师 浏览:187

  手机测试比较常用的就是点击,不管事按钮,是图片,是输入框,等等等等都需要点击;

  1、正常点击:solo.clickOnText("^登录?")

  正常输入:solo.waitForText("^账号?", 1, 10000);

  solo.enterText(0, "00195852");

  solo.enterText(1, "password");

  2、登录按钮时图片,无法用上面方法怎么办?

  clickOnScreen(float x, float y)

  x,y就得你手机打开开发者选项中的【指针位置】手指放上去会显示

  那如果是固定位置,比如1/2处。右下角。左上角;那就可以获取手机屏幕了代码如下:

  //1、导入包

  import android.util.DisplayMetrics;

  //2、获取手机屏幕分辨率的类

  private DisplayMetrics dm ;

  //3、初始化参数

  dm = new DisplayMetrics();

  solo.getCurrentActivity().getWindowManager().getDefaultDisplay().getMetrics(dm) ;

  //4、获得手机的宽带和高度像素单位为px

  String str = "手机屏幕分辨率为:" + dm.widthPixels+"*"+dm.heightPixels;

  点击时候如果是最中间clickOnScreen(dm.widthPixels/2,dm.heightPixels/2)

Robotium之无法识别控件点击-自动化测试

  3、通过ID来点击代码实现如下:

  private int clickCtrlById(String s, int t){

  int ctrl;

  View v;

  if( s == ""){

  return -1;

  }

  ctrl = solo.getCurrentActivity().getResources().getIdentifier(s,"id",solo.getCurrentActivity().getPackageName());

  v = solo.getView(ctrl);

  solo.clickOnView(v);

  solo.sleep(t);

  return 0;

  }

  private int enterTextById(String id, String s, int t ){

  int ctrl;

  EditText v;

  if( s == ""){

  return -1;

  }

  ctrl = solo.getCurrentActivity().getResources().getIdentifier(id,"id",solo.getCurrentActivity().getPackageName());

  v = (EditText) solo.getView(ctrl);

  solo.enterText(v, s) ;

  solo.sleep(t);

  return 0;

  }

  其调用方法为:

  clickCtrlById("ID", 10000) ;

  enterTextById("ID","要输入的内容",10000)

  如果碰到还不能点击的情况可以再反映给我,我会帮你想办法

  以上如果非要用id点击还可以使用以下方法获取ID但是意义不大,为什么呢?因为知道的string直接使用第一种办法点击就完事了,但是技术还是分享以下,也有可取之处

  Activity act=solo.getCurrentActivity();//获取Activity

  int id=act.getResources().getIdentifier("^登录?", "id", act.getPackageName());//通过String的id获取int的id

  View view=act.findViewById(id);//获取View

  solo.clickOnView(view);//点击

  这段代码虽然没啥用,但是如果你需要找到对应的ID,然后用用id做什么事情还是可取的。

  以上内容为大家介绍了自动化测试中的Robotium之无法识别控件点击,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部