zoukankan      html  css  js  c++  java
  • Appium+python自动化7-输入中文【转载】

    前言   

        在做app自动化过程中会踩很多坑,咱们都是用的中文的app,所以首先要解决中文输入的问题! 

        本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题。

    一、定位搜索

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

        2.然后定位到搜索框后用sendkeys方法输入“hao”,这里定位元素用第四篇讲的uiautomatorviewer工具就可以了

        3.脚本如下图(公众号版权所有:软件测试部落)

    二、运行脚本

        1.首先要确认手机上的输入法是用的什么输入法,如果默认是中文的输入法,启动后会出现下面情况,无法输入成功

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



    三、屏蔽软键盘

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

        2.于是可以想办法屏蔽软键盘,只需在desired_caps{}设置里面加两个参数(敲黑板,记重点!)

     

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

        4.resetKeyboard是将键盘隐藏起来(公众号版权所有:软件测试部落)



    四、输入中文字符

        1.将上面代码改成输入中文u“测试部落”,然后运行脚本,在手机上查看结果。(中文前面要加个u)

        2.运行后手机上显示如下

    3.如果显示中文字符为乱码时:

    前面加上“#--coding:gb18030--” 如下图所示:


    五、还原设置

        1.当运行上面的脚本后,发现手动去输入时候,无法调出软键盘了,如何恢复呢?(公众号版权所有:软件测试部落)

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

    六、最终脚本如下

    # coding=utf-8

    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"yoyoketang")

  • 相关阅读:
    第十四周 Leetcode 315. Count of Smaller Numbers After Self(HARD) 主席树
    POJ1050 To the Max 最大子矩阵
    POJ1259 The Picnic 最大空凸包问题 DP
    POJ 3734 Blocks 矩阵递推
    POJ2686 Traveling by Stagecoach 状态压缩DP
    iOS上架ipa上传问题那些事
    深入浅出iOS事件机制
    iOS如何跳到系统设置里的各种设置界面
    坑爹的私有API
    业务层网络请求封装
  • 原文地址:https://www.cnblogs.com/caoj/p/7799923.html
Copyright © 2011-2022 走看看