所需要的包:
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)
网友评论