符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
原文:http://houlianpi.github.io/blog/appium-chinese-input.html
成都创新互联专业为企业提供太仓网站建设、太仓做网站、太仓网站设计、太仓网站制作等企业网站建设、网页设计与制作、太仓企业网站模板建站服务,十多年太仓做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。在使用Appium做手机端的自动化测试时,你可以会遇到输入中文的问题。但是由于Appium是三个自动化测试工具的集合,所以遇到的中文问题也可能会比较难说清楚。Appium支持iOS、Android和FireFoxOS三种操作系统。但是FireFoxOS一般人都不用,所以,文章中它是最后一次露面了。
Appium在iOS端自动化测试底层使用的是官方的UI Autoamtion。在Android端,4.2以上使用的官方的Uiautomator,4.1以下使用的时eBay的selendroid。所以在输入中文的问题上,三个平台理论上都有可能遇到问题。本文之后将重点调研Uiautomator的输入中文的问题。
关于中文输入的的结论:
selendroid的调研之后补充。
首先先来说一下UI Automation。苹果官方的UI Automation在输入时有两种方法:
以上两个方法在模拟器上都是完美支持中文的。所以不管在iOS上面怎么玩,都是支持中文的。当然两个方式是有区别的。方法(1)简单直接,基本上就是一个简单的set方法。输入时不会触发什么类似textChanged事件。方法(2)需要很多支持,方法二是完全模拟人手工输入过程。苹果对英文以外的输入都做了很好地兼容。
Appium iOS版本的 sendkeys方法,直接对应 UIAKeyboard的typeString方法。由于typeString方法完美支持中文。所以Appium iOS版本也就支持中文了。当然,typeString方法也有缺点。当一个输入框内有内容的时候,typeString的输入方法是添加,所以,如果之前的内容不需要的时候,还需要先清除掉,在进行typeString。在没有特殊要求的情况下,我比较喜欢setValue这个方法,但是遗憾的时Appium不支持直接setValue。
之所以能有这篇文章,主要是因为最近想使用Appium做一些App之间相互跳转的自动化确认测试。一个中文的App,如果不能输入中文基本上就是歇菜。在使用学习工具的时候发现了很多坑,不能输入中文的这个坑大,最郁闷。所以,把自己的调研方法写出来,供大家参考。
首先 在一切未知的情况下,使用了这个方法进行输入:
input.sendKeys("舌尖上的中国");
发现结果不对,然后尝试了不输入中文:
input.sendKeys("ssssssss");
结果也不对,发现手机上使用的输入法是Google中文输入法。把输入法切换到英文输入法,以后,英文的正确的了,中文的还是有问题。于是Google了一下,找到了一个帖子。上面信息量很大,看起来比较靠谱的是有一个方法,利用JS运行器来直接输入方法,翻译为Java版本以后,代码如下:
Java 1 2 3 |
|
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。