zoukankan      html  css  js  c++  java
  • Appium 输入中文

    文章出处 http://www.cnblogs.com/ljfight/p/6089163.html

    在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题。

    一、定位搜索

        1.打开淘宝点击搜索按钮,进入搜索页面

        2.然后定位到搜索框后用sendkeys方法输入“hao”,这里定位元素用上一篇所说的就能搞定

        3.脚本如下图

        

    二、运行脚本        

        1.首先要确认手机上的输入法是用什么输入法,如果默认是中文的输入法,启动后会出现下面的情况,无法输入成功(手机截得图,可能美观度不太好~)

        

        2.于是可以先把手机上的输入法改成英文的状态,这样就可以输入英文字符串了。那么问题来了,如果想输入中文的字符串呢?如何解决。。。

    三、屏蔽软键盘

        1.通过前面的操作,大概可以知道,在app里面输入字符串是调用软键盘输入的,有没有办法像selenium做web自动化时候一样,直接sendkeys绕过键盘输入呢?

        2.于是可以想办法屏蔽软键盘,只需在desired_caps{}设置里面加上两个参数

        

        3.unicodeKeyboard是使用unicode编码方式发送字符串

        4.resetKeyboard是将键盘隐藏起来

    四、输入中文字符

        1.将上面代码改成输入中文u'大保健',然后运行脚本,在手机上查看结果。

        

        2.运行后手机淘宝搜索框会出现“大保健”中文。

    五、还原设置

        1.当运行上面的脚本后,发现手动去输入的时候,无法调出软键盘,如何恢复呢?

        2.打开手机设置,找到输入法设置选项,会发现默认的输入法被改成appium的输入法了。所以只需要把这里的设置,改成原来的输入法就OK

        

    六、最终脚本如下

    from appium import webdriver
    import time
    desired_caps = {
    'platformName': 'Android',
    'deviceName': '30d4e606',
    'platformVersion': '5.0',
    'appPackage': 'com.taobao.taobao',
    'appActivity': 'com.taobao.tao.welcome.Welcome',
    'unicodeKeyboard': True,
    'resetKeyboard': True
    }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    # 休眠五秒等待页面加载完成
    time.sleep(5)
    driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()
    time.sleep(2)
    driver.find_element_by_id("com.taobao.taobao:id/searchEdit").click()
    driver.find_element_by_id("com.taobao.taobao:id/searchEdit").send_keys(u"大保健")
  • 相关阅读:
    oracle中Blob和Clob类型的区别
    为什么要分库分表
    Enable file editing in Visual Studio's debug mode
    SQL Server Dead Lock Log
    Debug .NET Framework Source
    SQL Server text field里面有换行符的时候copy到excel数据会散乱
    诊断和修复Web测试记录器(Web Test Recorder)问题
    Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
    'telnet' is not recognized as an internal or external command
    Linq to XML
  • 原文地址:https://www.cnblogs.com/111testing/p/7745661.html
Copyright © 2011-2022 走看看