android软键盘确认,android – 如何确定软键盘是否显示在屏幕上 – 使用monkeyrunner时...

我试图使用monkeyrunner自动化几个屏幕点击和条目(使用AndroidViewClient)

每当屏幕上有编辑文本时,软键盘就会弹出,如果我想通过findViewById按下按钮,(假设这个特定按钮在软键盘后面)就会失败.它不是单击此按钮,而是单击软键盘中的某个按钮.因此,作为一种解决方法,我需要通过猴子跑步者按下键,以隐藏软键盘.

我的问题是如何确定从monkeyrunner运行时是否在屏幕上显示软键盘.

当我看着logcat时,我在看到软键盘时会看到以下内容

I/SurfaceFlinger( 2045): id=143(28) createSurf 0x4326743c (720x593),1 flag=0, InputMethod

并在删除软键盘时显示此信息

I/SurfaceFlinger( 2045): id=142 Removed InputMethod idx=4 MapSz=3

I/SurfaceFlinger( 2045): id=142 Removed InputMethod idx=-2 MapSz=3

如果有人可以提供如何从monkeyrunner脚本解析adb logcat输出的示例,如果找到任何合适的替代解决方案,我可以将其用作最后一个选项.

解决方法:

你在答案中提到的可能是AndroidViewClient的一个很好的补充,我会尽快加入.

无论如何,有一种方法可以获得相同的信息,但方式更复杂:

...

from com.dtmilano.android.viewclient import ViewClient

vc = ViewClient(*ViewClient.connectToDeviceOrExit())

view = vc.findViewByIdOrRaise('id/no_id/1')

view.getXY() # getXY() calls __dumpsWindowsInformation()

for w in view.windows:

if view.windows[w].activity == 'InputMethod':

print view.windows[w].visibility

11-FEB-15更新

最新的AndroidViewClient / culebra版本支持isKeyboardShown()方法.使用这样:

#! /usr/bin/env python

# -*- coding: utf-8 -*-

'''

Copyright (C) 2013-2014 Diego Torres Milano

Created on 2015-02-11 by Culebra v10.0.8

__ __ __ __

/ \ / \ / \ / \

____________________/ __\/ __\/ __\/ __\_____________________________

___________________/ /__/ /__/ /__/ /________________________________

| / \ / \ / \ / \ \___

|/ \_/ \_/ \_/ \ o \

\_____/--<

@author: Diego Torres Milano

@author: Jennifer E. Swofford (ascii art snake)

'''

import re

import sys

import os

try:

sys.path.insert(0, os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src'))

except:

pass

from com.dtmilano.android.viewclient import ViewClient

TAG = 'CULEBRA'

_s = 5

_v = '--verbose' in sys.argv

kwargs1 = {'ignoreversioncheck': False, 'verbose': False, 'ignoresecuredevice': False}

device, serialno = ViewClient.connectToDeviceOrExit(**kwargs1)

print "Is keyboard shown:", device.isKeyboardShown()

标签:android,monkeyrunner,androidviewclient

来源: https://codeday.me/bug/20190725/1537086.html

是的,要在Python中使用MonkeyRunner,您需要安装Android SDK并设置相关环境变量。以下是安装和设置的步骤: 1. 安装Android SDK:您可以从Android开发者网站(https://developer.android.com/studio/index.html)下载并安装Android Studio。在安装过程中,请确保勾选“Android SDK”选项。 2. 设置环境变量:在您的操作系统中设置ANDROID_HOME环境变量,指向Android SDK的安装路径。例如,在Windows上,您可以在系统环境变量中添加名为ANDROID_HOME的变量,并将其值设置为Android SDK的安装路径(例如:C:\Users\YourUsername\AppData\Local\Android\Sdk)。 3. 更新PATH变量:将Android SDK的工具目录添加到您的PATH环境变量中。例如,在Windows上,您可以将路径 `%ANDROID_HOME%\tools` 和 `%ANDROID_HOME%\platform-tools` 添加到PATH中。 4. 安装Jython:MonkeyRunner依赖于Jython库。您可以从Jython官方网站(http://www.jython.org)下载并安装Jython。 5. 验证安装:打开命令行界面,运行以下命令来验证MonkeyRunner是否安装成功: ```shell monkeyrunner ``` 如果一切设置正确,将会进入MonkeyRunner的交互式环境。 请注意,MonkeyRunner只能在连接了Android设备或模拟器的情况下运行。在运行脚本之前,请确保已经通过USB连接了设备或启动了模拟器。 希望这些步骤可以帮助您成功安装并使用MonkeyRunner。如果您遇到任何问题,请随向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值