EdmundBai 2024-05-30 17:12 采纳率: 0%
浏览 6

appium 测试andriod app , 如何输入中文

python中, appium 控制 android app 页面 , 找到输入框以后, 执行脚本往里面 新增插入一个元素 android.view.View, 这个元素的 属性 content-desc 值为 “好的”


el = driver.find_element(by=AppiumBy.XPATH, value='//android.view.View[@content-desc="想跟TA说点什么..."]')
el.click()
el.clear()
# el.send_keys('好的')

# 创建新的android.view.View元素
new_view_data = {
    'id': 'your_new_view_id',
    'className': 'android.view.View',
    'contentDescription': '好的'
}

# 将新元素插入输入框
driver.execute_script('mobile: shell', {
    'command': 'input tap',
    'args': [el.location['x'], el.location['y']],
    'payload': new_view_data
})

# appium
  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-05-30 17:12
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    在Appium中,使用Python进行自动化测试时,通常使用send_keys()方法来向输入框中输入文本。但是,根据你的需求,你想要通过脚本方式创建一个自定义的android.view.View元素,并将其插入到输入框中。这通常不是Appium的标准用法,因为Appium主要是用来模拟用户交互的,而不是直接操作Android的视图系统。

    然而,如果你确实需要这样做,你可以考虑使用Appium的execute_script方法来执行一些JavaScript代码,这可以与Android的视图系统交互。但是,直接创建并插入一个android.view.View元素可能需要更深入的Android开发知识,并且可能涉及到Android的内部API。

    以下是一个示例代码,展示了如何使用execute_script方法来向输入框中输入文本:

    from appium import webdriver
    
    # 假设你已经设置好了Appium的desired_capabilities和服务器
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_capabilities)
    
    # 找到输入框并点击
    input_element = driver.find_element_by_xpath('//android.view.View[@content-desc="想跟TA说点什么..."]')
    input_element.click()
    
    # 清除输入框内容
    input_element.clear()
    
    # 输入中文字符“好的”
    input_element.send_keys('好的')
    
    # 关闭driver
    driver.quit()
    

    如果你需要执行更复杂的操作,比如创建和插入视图元素,你可能需要查看Android的开发者文档,了解如何通过代码创建和操作视图。这通常涉及到使用Android的LayoutInflater来创建视图,以及使用ViewGroup.addView()方法来将视图添加到布局中。

    至于参考资料,Appium的官方文档是一个很好的起点:

    对于Android视图操作的更深入的资料,你可以查看Android开发文档:

    请注意,直接操作Android视图系统可能需要root权限或者特定的测试环境配置。如果你不熟悉这些操作,建议先从基本的自动化测试开始,逐步深入。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月30日

悬赏问题

  • ¥20 UNITY webgl关于文档的上传和下载问题
  • ¥15 安霸cv22 + rtl8211f 千兆,udp传输丢包
  • ¥15 关于区块链和边缘环境搭建的相关问题
  • ¥15 windows远程桌面断卡重连软件卡顿问题
  • ¥30 Unity 实现扫描效果
  • ¥15 HbuilderX检测不到安卓模拟器
  • ¥15 这个main已经在filename.obj中定义是什么错 C语言
  • ¥15 关于#linux#的问题:exsi8.0系统 怎么更改web访问端口,不用80、443
  • ¥15 使用elementor设计样式
  • ¥15 谁能提供一个中文版的推销咨询网站连接?