问题标签 [androidviewclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3085 浏览

android - 如何通过 adb shell 或 keyevent 接听来电

我正在尝试使用 Intent 接听来电,如下所示:

谁能告诉我哪里出错了……请帮忙。

0 投票
1 回答
2837 浏览

android - 将monkeyrunner导入python ViewClient

我有兴趣使用 MonkeyRunner 的 ViewClient 扩展,因为纯 MonkeyRunner 遇到了 Broken Pipe 问题。

对于某些测试,我仍然需要在 device.press(...)、device.touch(...)、device.drag(...) 函数中使用 X/Y 坐标(不是普通的 android 层次结构)所以出于这个原因,我需要将 MonkeyRunner 导入 ViewClient Phyton 脚本 - 但是对于测试的 android 应用程序部分,我可以使用 ViewClient 适当地在层次结构中搜索 ID。除非有人知道如何在调用 vc.touch()/vc.drag() 等之前在 ViewClient 中设置硬编码 X/Y?

因此,我的 Python 脚本有以下标头,它试图拉入 ViewClient 环境和 MonkeyRunner 路径。但是运行脚本总是会导致相同的错误:

ImportError:没有名为 android.monkeyrunner 的模块

设置环境的脚本部分是这样构造的(环境 - Ubuntu 12.04 LTS)

所以上面的输出看起来像这样:

谢谢!

更新:

有趣的是:

不应该有<type 'org.python.core.JavaImporter'>吗?

更新2:

所以区别是:

....所以让我尝试安装 Jython!

更新3:

没有。现在它与 ViewClient 发生冲突,所以我回到第一方……我找到了 ViewClient 提供的 check-import.py。这让我觉得有些东西没有正确设置,因为 viewclient.py 和 adbclient.py 调用了monkeyrunner而不是python ...

0 投票
1 回答
769 浏览

android - 无法从 Jenkins 连接到 Android 设备

所以我过去常常从 Jenkins 中调用 MonkeyRunner 脚本来连接到 USB Android 设备并运行一些自动化测试,但是 MonkeyRunner 本身相当不稳定,所以我切换到了出色的 AndroidViewClient 并将我的测试脚本移植到使用这个纯 Python API。

新的 Python 脚本在独立于 shell 调用时工作正常,但目标是从 Jenkins 调用此脚本作为构建后步骤。

我遇到的问题是与 USB Android 设备的初始连接。下面的脚本是实际测试脚本的片段 - 这是测试 USB 设备是否存在并在连接到 Android 设备之前获取其序列号的部分。这在 ubuntu shell 中运行良好,但是在从 Jenkins 'Execute Shell' 调用时无法连接。

来自 Ubuntu Shell 的输出是:

信息:尝试连接到 3a005473...

从 Jenkins 'Execute Shell' 构建步骤

错误:未找到设备

有趣的是,当从原始 MonkeyRunner 脚本中调用相同的片段时,它运行良好。所以我在想 MonkeyRunner 做了一些我的 Python 脚本没有做的初始设置?我不是 Python 专家,不知道如何配置 USB 设备。任何帮助表示赞赏。

0 投票
1 回答
5244 浏览

android - 在 Android 上模拟的触摸、滑动或拖动事件不起作用

阅读帖子后,我想出了如何模拟触摸事件:

adb shell 输入点击 100 100

我已经安装了 MagicMarker 以查看是否绘制了任何内容,但什么也没有出现。

我也尝试过使用 monkeyrunner/androidViewClient Touch 功能:

device.touch(100, 100, 'DOWN_AND_UP');

我的 AndroidViewClient 的整个代码:

我成功使用了 device.press("KEYCODE_MENU", "DOWN_AND_UP") 或 device.takeSnapshot(),我完全不明白为什么我的手机没有收到触摸事件。

顺便说一句,我使用的是真实设备(4.3 中的 GS3 和 GS4)

不要犹豫,询问更多信息。

0 投票
1 回答
554 浏览

android - 如何获取android视图的视图名称或ID

我目前正在开发代码以使 android 手机测试自动化。我使用 python 和 Diego Torres 开发的 AndroidViewClient 库作为测试引擎的基础

我可以使用以下命令获取视图的层次结构:

它工作正常。顺便说一句,我的问题是每个视图都有自己的层次结构。例如,呼叫应用程序可以具有拨号盘视图和呼叫日志视图。

每个视图都有自己的层次结构。我能够用相应的 id 识别每个图标/文本字段,但我仍然找不到如何获取视图名称?

任何想法 ?

我将能够根据我所处的视图做出反应。如果拨号盘则 ID 对应于 blablabla 如果通话记录视图 ID 对应于 blabla

我曾尝试使用“vc”来获取视图 ID,但如果我在拨号盘或通话记录屏幕中,它是一样的。这样,我无法知道我是否在拨号盘或通话记录视图中

0 投票
0 回答
142 浏览

android - 尝试在 Python 3 上运行时,在 adbclient.py 中的 self.socket.recv() 读取错误

我正在尝试AndroidViewClient使用 Python 3.3 运行一些示例文件(dump-simple.py)

我修复了 viewclient.py 和 adbclient.py 文件中的所有基本语法问题,以便将它们转换为在 Python 3 上运行。

我将 Android 平板电脑 USB 连接到我的 PC,我通过 cmd adb 命令正确地看到了它。我正在使用 Windows7 操作系统。

目前我面临以下问题:

在 adbclient.py 文件中使用了所有地方self.socket.recv()函数,它返回b''字符串

我尝试了来自 4 个不同供应商的 4 种不同的 Andoid 设备,b''并被self.socket.recv()所有人退回。

我做错了什么,我仍然没有转换为使用 Python 3 吗?

0 投票
1 回答
177 浏览

python-2.7 - 即使参数“forceviewserveruse”:为真,AVC 也无法按 id 查找视图,

我正在尝试使用 AndroidViewClient 5.1.1 自动撰写电子邮件。请在下面找到代码:

AVC 无法识别撰写视图。请帮忙

0 投票
1 回答
93 浏览

androidviewclient - 我在哪里可以获得 AndroidViewClient 版本 >= 5.3.1?

这个主题中,我看到@dtmilano 谈论 AndroidViewClient >= 5.3.1,但我看到最新的当前 AVC 版本是 5.1.1。我在哪里可以获得 AVC >= 5.3.1 ?

0 投票
2 回答
361 浏览

android - AndroidViewClient如何与eclipse集成以及如何开发测试

您能帮我用 Eclipse 设置 AndroidViewclient 吗,请给我一个示例示例,了解如何编写与任何基本应用程序交互的测试。

抱歉,如果我问的是基本问题,但我没有看到任何明确的分步程序。

提前致谢!!

问候 ASP

0 投票
2 回答
354 浏览

android - 我看到了 veiw id 但不能使用它们

在使用最新的 5.4.4 AndroidViewClient 和 4.4.2 KitKat Android 设备时,我看到了带有 dump-simple.py 提供文件的理想视图 ID,但是当我尝试将这些 ID 与 findViewByIdOrRaise 方法一起使用时,我收到一个异常:

com.dtmilano.android.viewclient.ViewNotFoundException:在 root=ROOT 的树中找不到 ID='android.widget.ImageViewfourier.milab:id/infoIcon' 的视图

我尝试了几次,没有错别字等。那么我该如何使用(触摸等)这些视图?