appium 解决send_keys中文不识别

 

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

 

 

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

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

可以去查看appium的日志

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

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

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

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 输入法。 默认值为 falsetruefalse
resetKeyboard在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态。如果单独使用,将会被忽略。默认值为 falsetruefalse

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值