- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
我想知道是否有任何方法可以使用 adb 命令通过根据文本识别元素来模拟连接设备上的触摸?例如:我想使用 adb 进入设备设置,然后触摸基于文本的特定选项,如“显示”、“Sim 卡管理器”等。进入该设置后,我需要再次使用它们的文本触摸一些选项.
我已经使用 UI Automator 查看器获取屏幕上元素的“资源 ID”和“文本”。它们可以用于定位触摸位置吗?
这可以使用 adb 来完成吗?或者还有其他可以使用的工具吗?我需要它是一个脚本,以便它可以从命令提示符运行并完成所需的工作。
目前,我正在使用以下命令打开设置,浏览选项并选择它们,但这是不可靠的,因为不同的 android 版本有不同的 UI 布局:
adb shell am start -S com.android.settings/.Settings
adb shell input keyevent KEYCODE_DPAD_RIGHT
adb shell input keyevent KEYCODE_DPAD_DOWN
adb shell input keyevent ENTER
感谢任何帮助。
提前致谢。
这个问题被标记为重复,因为它与另一个问 Is there a way to get current activity's layout and views via adb? 的问题相同
然而,我的问题是不同的。我知道如何使用 automator 从 UI 布局中获取“文本”、“资源 ID”和“类名”。我只需要知道我是否可以模拟设备用户界面上的触摸以触摸该特定区域,如果我知道所写的文字?例如:触摸“设置”图标,或触摸“开/关”切换开关?
感谢大家的帮助!我找到了我正在寻找的解决方案。因此,如果您想使用文本触摸屏幕上的某些内容,或者无需使用“adb shell input keyevents”在屏幕中导航即可自动执行任务,您只需下载并使用 uiautomator (Android uiautomator 测试工具的 Python 包装器。),并使用文本模拟 UI 上的触摸。
例如:
from uiautomator import device as d
d.press.home()
d(text="Settings").click()
上面的代码按下主页按钮,然后单击/触摸 UI 上写有“设置”的地方,即如果您的主页上有“设置”图标。与 Appium 相比,我发现此解决方案更简单,因为您只需运行脚本即可!
如果您也想运行 adb 命令,还可以将 uiautomator 库与子进程结合使用。
此外,如果 UI 上有一种非英语字符的语言,您可以使用 UI Automation Viewer 工具复制文本并将其粘贴到您的程序中,并使用 python 脚本支持的编码方法来跑。
使用 http://developer.android.com/training/basics/firstapp/running-app.html 上的指南,我使用 adb 将示例 Hello, Wo
如何修复 - 无法创建调试桥:无法启动 adb 服务器:无法检测 adb 版本,adb 输出:/home/dilip/Downloads/sdk/platform-tools/adb: 1:/home
我在 UBUNTU 18.x 操作系统上练习 REACT NATIVE,一切运行顺利,昨天我更新了我的 React native、react 和 android gradle 版本然后我收到一些错误,
这个问题在这里已经有了答案: android studio adb Syntax error: ")" unexpected (4 个答案) 关闭 5 年前。 我确实将我的工作室更新到 Linux
这是我的步骤: adb connect 'my android IP address' connected adb reboot //in this step my phone is rebootin
我有一个应用程序可以监听接收通知。安装后,我应该从设置 -> 安全 -> 通知访问启用通知访问 我在模拟器上安装这个应用程序并使用 ADB 运行它。但我不知道如何使用 ADB 中的命令行为其启用通知访
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能
我知道这个问题被问了多次,也有一些替代答案。所以请不要关闭其他链接,因为我在下面添加了该链接。 [2014-01-23 16:19:44 - adb] ADB server didn't ACK [2
我在 adb 中观察到了这种新行为v1.0.39。命令: adb shell getevent -l 给出以下输出: 观察到最后一行是不完整的。这发生在许多不同的设备上。相同的命令在 adb 中无需缓
我正在尝试通过 adb shell am 和 adb shell service call 发送短信。我都收到错误消息。 a) 我正在尝试按照 adb shell am 命令发送短信 adb shel
由于某些原因,我的手机无法使用电缆。 我在 Internet 上看到可以通过 Wifi 将 adb 连接到 Wifi,但是我试了一下,结果是这样的: adb devices List of devic
尝试通过 expo 在模拟器上运行 react-native 应用程序时出现此错误。 Couldn't start project on Android: Error running adb: adb
这个问题在这里已经有了答案: adb server version doesn't match this client (41 个回答) 关闭4年前。 在启动 genymotion 模拟器后尝试从终
adb server version (39) doesn't match this client (40); killing... could not read ok from ADB Server
我已经创建了一个虚拟 Android 模拟器 (Nexus_5X_API25),我需要获得根访问权限。但是当我输入 adb remount 命令时,它总是告诉我 adb 没有以 root 身份运行。我
这个问题在这里已经有了答案: ADB - Android - Getting the name of the current activity (13 个答案) 关闭 4 年前。 我正在使用 adb
我只是想运行 adb shell,这样我就可以终止进程以进行测试。我在目录 platform-tools 中,adb 可执行文件就在那里。当我尝试运行 shell 时,它说找不到 adb 命令。我正在
我刚刚安装了 android studio 和平台工具,但我无法调用 adb,即使它们显然位于同一目录中。我收到此错误: zsh: command not found: adb 我是 android
以下命令用于使用 Android SDK 工具版本 24.4.1 退出模拟器。将工具版本更新到 25.1.6 后,它在 Mac 上停止工作。 adb -s emulator-5554 emu kill
我正在尝试 root 第 8 代 Kindle HD Fire (Fire OS 6.3.0.1)我已经打开了 Developer options,但是 Enable ADB 没有列在它下面。还有其他
我是一名优秀的程序员,十分优秀!