被要求用UIAutomator2.0 进行安卓自动化测试,测试的时候要对一个文本框进行输入
mDevice.findObject(By.clazz("android.widget.EditText")).click();
sleep(3000);
mDevice.findObject(By.clazz("android.widget.EditText")).setText("123");
但是字符串一直无法输入文本框,就用同样的代码在手机自带的便签上进行测试,然后成功了。
很是疑惑,于是又加了一行代码
Log.i(TAG,"测试:" + mDevice.findObject(By.clazz("android.widget.EditText")).isFocused());
这一行查看 文本框 是否获取焦点
后台打印是 false 没有取到,但是手机中明显已经获取到焦点
又到UIAutomator Viewer中查看,对应的文本框确实已经获取到焦点。。。
显示focused:true
为何已经获取焦点,但是后台运行时依然显示没有获取呢?
尝试 sleep(10000); 依然不行。 是测试的app 加载得不够快吗?还是什么原因?
后面又在便签上测了一些 发现即使不获取焦点也能写入。