本人实在不知道如何解决了 求各位帮忙看看
个人建议:
1.把坐标打出来,看看控件到底有没有取到。
2.短的 CLICK 不行,你换 LONGCLICK 试试?
#1 楼 @yangchengtest
1、这个我开了 开发者选项中的模拟操作,的确看到了点击了此 button,但是没有菜单栏弹出来
2、longclick 也不行 菜单栏还是没有弹出来
我没辙了 求大神们出现
你确定那个菜单栏是点击这个控件就会出现的?
#3 楼 @chenhengjie123 这必须肯定啊, 和开发确认了
#3 楼 @chenhengjie123 这个菜单栏 是 这个 app 的 菜单栏 不是安卓系统的 菜单栏
也许是你代码问题,你光发这个图看不出什么问题
#7 楼 @nickbeibei 我点的是这个按钮的 resource id 看轨迹 的确点击上去了,但是没有弹出对应的界面
以下是个人的理解供参考:
一般来说开发对 BUTTON 监听,就是 onClickListener 和 onLongClickListener,你可以去和开发确认一下监听方式。
无论是长按短按,如果你手工测试正常,自动化没道理不跳转啊。所以个人怀疑还是你 BUTTON 的获取是不是有了问题?ID+INDEX 的获取方式?你确认按键后的开发者选项获取到的按键坐标与工具看到的 BUTTON 坐标一致么?(我个人还是喜欢在代码里面取控件坐标打 LOG...)
如果还不行,建议你还是去找开发慢慢谈吧。~~~
#9 楼 @yangchengtest 安卓自动化 比 web 自动化还是难很多啊 好多不懂 的 慢慢学吧 多谢了
#9 楼 @yangchengtest 我给你打下我的那块代码 你看看
solo.clickOnView(solo.getView("rbtn_menu_home"));
// Click on FrameLayout
solo.clickOnView(solo.getView("flyt_task_menu")); //主要是这个是点击那个按钮的
// Click on Empty Text View
solo.clickOnView(solo.getView("exit"));
@young 个人觉得问题有点多,供参考:
1.先了解一下 ANDROID 的控件 ID 是什么,然后仔细看一下 SOLO 的文档吧。貌似你填的就不是 ID 吧。。。。
2.ROBOTIUM 的执行速度很快,中间不加延时,可能什么中间过程都看不到。
3.按键后 ACTIVITY 可能会有跳转,每次跳转后,控件 ID 什么的要重新用 UIAUTOMATOR 取。
贴下这个按钮点击后的展示效果吧
Activity act=solo.getCurrentActivity();
int id=act.getResources().getIdentifier("flyt_task_menu", "id", act.getPackageName());
View view=act.findViewById(id);
solo.clickOnView(view);
可以这样试试
今天遇到了类似的问题,被测 app 版本迭代后,一个 ImageView id 为 user_message 没变,但自动化代码执行时突然就点击无任何效果,试了老版本 app 执行没问题,真是百思不得其解,求大神解救,分析下可能原因
很明显 ID 写错了 flyt_task_menu 你的截图不是 btn_myinfo_menu 这个嘛
id 有重复的,导致定位的地方不对,可以打印下定位到的控件的位置;或者上一个操作没加个 sleep,连续操作过快也会点不到