用酷狗音乐测试一下Appium的driver.send_keys方法。
用例:在搜索框输入中文 '神话',点击搜索。
实际执行失败,发现执行过程中,程序会先点击一下旁边的麦克风图标(ImageButton),酷狗界面跳转“听歌识曲”。
再执行一次测试代码,还是跳转“听歌识曲”,本人不死心的赶紧手动点击返回按钮,程序再次点击ImageButton,跳转“听歌识曲”,我再点回去,这下程序如实输入设定好的字符串╮(╯▽╰)╭,但实际测试,人怎么可能实时看着用例执行。
回头仔细看Uiautomator分析的结果,发现EdiText与兄弟控件ImageButton在视界上有重叠,估计是点击EditText,却实际在ImageButton上点出效果来了。
想办法规避一下,猜测可能跟光标、聚焦有关,尝试在执行send_Keys之前,执行点击或长按EditText操作。执行后,看效果是长按或者点在EditText中间了,但没鬼用,后续send_keys方法依旧会点一下,点在EditText偏左侧,也就是ImageButton上。
分析一下源代码?只看到Command类execute的底层命令这一层,
要这样,我不如调用adb shell intput text好了,这个比较熟,但它不支持中文。
ADBKeyBoard参考:https://blog.csdn.net/slimboy123/article/details/54140029
a