当我们想send_keys发送中文,可能会遇到下面问题,看下图

appium 解决send_keys中文不识别

 

appium 解决send_keys中文不识别

 

为什么不能输入中文?我们先来分析一下

1. 定位是否正确,能否获取该对象。可以不发送send_keys,打印下该对象,观察下python的日志

可以去查看appium的日志

2.定位没有问题,我们尝试输入英文是否可以:如果可以,说明send_keys是没有问题,那就是中文的问题

中文问题解决
1. 可以在send_keys里面的字符加上u ,尝试是否可以成功,例如

appium 解决send_keys中文不识别

2. 还不行,我们在试着先英文后汉字

appium 解决send_keys中文不识别

3.还不行,那我们去看下我们测试的手机应用,确认一下默认的输入法是什么语言,如果英文可以,就默认的输入法应该英文的,所以猜测是默认的输入法影响到我们中文的输入,那我们可以修改默认输入法为中文,就可以了。但是问题来了,假如输入英文会不会就有问题了,所以不能这么修改,我们需要屏蔽 输入法的软键盘,类似selenium实现web自动化时,通过sendkeys绕过键盘,接下来看第4步

4.appium其实已经帮助我们解决了这个问题,我们只需要在Desired Capabilities参数配置中设置参数就可以了,不懂Desired Capabilities,不要紧,我们来一起看下官方的中文文档:http://appium.io/docs/cn/writing-running-appium/caps/index.html

我们主要使用2个参数就可以解决这个问题,这个参数是什么呢,来往下看

unicodeKeyboard 使用 Unicode 输入法。 默认值为 false truefalse
resetKeyboard 在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态。如果单独使用,将会被忽略。默认值为 false truefalse

appium 解决send_keys中文不识别

5.添加完成了吧,那我们来运行一下,看中文输入成功了

appium 解决send_keys中文不识别

相关文章:

  • 2021-08-01
  • 2021-06-27
  • 2022-12-23
  • 2021-05-27
  • 2021-04-11
猜你喜欢
  • 2022-12-23
  • 2021-09-06
  • 2021-09-15
  • 2021-07-27
  • 2022-12-23
  • 2021-10-24
相关资源
相似解决方案