美文网首页
appium-按键操作(AndroidKey)+输入法

appium-按键操作(AndroidKey)+输入法

作者: 测试探索 | 来源:发表于2022-05-18 15:36 被阅读0次

    所需要的包:

    from appium.webdriver.extensions.android.nativekey import AndroidKey

    按键操作:

    AndroidKey类

    应用的搜索功能,搜索键在软键盘上的。使用Enter键来代替搜索键。
    Enter键 : keyevent:66
    Back键:4
    Home键:3
    按键操作:
    driver.press_keycode(AndroidKey.ENTER)

    输入法操作:

    启动参数当中关于输入法:
    unicodeKeyboard=True

    输入法的操作(输入中文时):
    1、获取当前设备可用的输入法:
    driver.available_ime_engines
    2、获取当前正在使用的输入法:
    driver.active_ime_engine
    3、切换为其它输入法:
    driver.activate_ime_engine(输入法名,可以从1中获取到)
    4、输入完成,想要收起键盘:
    driver.hide_keyboard()
    5、键盘是否显示:
    driver.is_keyboard_shown()

    输入法切换的场景:
    1、用send_keys输入中文,但是在app的页面当中,并没有显示出输入的内容。
    需要切换到,中文输入法。

    from time import sleep
    from appium import webdriver
    from appium.webdriver.common.mobileby import MobileBy
    from appium.webdriver.extensions.android.nativekey import AndroidKey
    
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    desired_caps = {
        "platformName": "Android",
        "platformVersion": "7.1.2",
        "deviceName": "emulator-5554",
        "appPackage": "com.lemon.lemonban",
        "appActivity": "com.lemon.lemonban.activity.WelcomeActivity",
        "noReset": True,
        "noSign": True,
    
    }
    # 跟appium之间建立会话
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    wait = WebDriverWait(driver,7)
    
    # 点击题库
    id_loc = (MobileBy.ID,"com.lemon.lemonban:id/navigation_tiku")
    wait.until(EC.visibility_of_element_located(id_loc))
    ele = driver.find_element(*id_loc)
    ele.click()
    
    
    # 搜索图片按钮
    search_imgage_loc = (MobileBy.CLASS_NAME, 'android.widget.ImageButton')
    wait.until(EC.visibility_of_element_located(search_imgage_loc))
    ele = driver.find_element(*search_imgage_loc)
    ele.click()
    
    # 获取当前所有可用的输入法
    print("所有可用的输入法:",driver.available_ime_engines)
    print("当前正在使用的输入法:",driver.active_ime_engine)
    print("切换输入法到 io.appium.settings/.UnicodeIME")
    driver.activate_ime_engine('io.appium.settings/.UnicodeIME')
    print("当前正在使用的输入法:",driver.active_ime_engine)
    
    # 往搜索框当中输入内容
    input_text_loc = (MobileBy.XPATH, '//*[@text="Search"]')
    wait.until(EC.visibility_of_element_located(input_text_loc))
    ele = driver.find_element(*input_text_loc)
    
    ele.send_keys("数据库")
    driver.press_keycode(AndroidKey.ENTER)
    

    相关文章

      网友评论

          本文标题:appium-按键操作(AndroidKey)+输入法

          本文链接:https://www.haomeiwen.com/subject/alytprtx.html