问题标签 [calabash-android]

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 投票
2 回答
584 浏览

android - 如何判断 avd 何时完全启动?

我正在运行一个启动 avd 设备并使用 calabash-android 对其运行测试的 jenkins 作业。

如何判断此设备何时完全启动,以便我知道我可以开始测试而不会出现设备连接错误?

我试过了

但这行不通,因为根据 adb docs

“请注意,此命令不会导致 adb 等待整个系统完全启动。因此,您不应将其添加到需要完全启动系统的其他命令之前。”

现在我睡得很香,有什么更好的方法来编写这个脚本?

谢谢你。

0 投票
2 回答
241 浏览

calabash - CALABASH - 在没有迭代器的情况下重命名屏幕截图文件名

在 Calabash 中,您可以截取屏幕截图并将其重命名为您想要的任何名称并将其保存到任何目录,如下所示:

但是,它将始终另存为some_name_0.png,下一个将是some_name_1.png.

有谁知道如何在没有迭代器的情况下完全重命名文件名?

0 投票
1 回答
246 浏览

calabash-android - 如何防止 calabash-android 为每个功能文件推送 apk?

当我运行 calabash-android 时,它似乎将每个功能文件的 apk 推送到设备。我宁愿推送一次 apk 并重用它,因为每次推送大约需要半秒,我希望最终有足够的功能文件来解决这个问题。我会对一个根本不推送 apk 并在更早的步骤中自己推送它的解决方案感到满意。

0 投票
3 回答
1665 浏览

android - Calabash - 将应用程序发送到后台并返回 (Android)

我正在用 Calabash 测试我的 android 应用程序,除了一个小细节外,一切都很好。我重写 onPause() 和 onResume() 方法来执行某些操作,我想测试它们。问题是我不确定如何用葫芦做。

我读到我们可以将应用程序发送到后台执行

参考:(Calabash -Android:我们可以在 Android 设备上为 Calabash-Android 模拟 Home 按钮吗?

这对于测试 onPause() 方法没问题,但我还需要测试 onResume() 并且为此我需要回到应用程序。那可能吗?

谢谢!

0 投票
1 回答
148 浏览

calabash - 葫芦'然后我向上滚动'WaitError

在查看 Calabash 的预定义手势步骤时

我不明白为什么步骤定义Then I scroll up会返回以下失败:Timeout waiting for elements: android.widget.ScrollView index:0 (Calabash::Android::WaitHelpers::WaitError).

令我困惑的是,当我运行我们的应用程序的较旧版本时,这种情况会通过。因此,错误应该出在我们的应用程序中,但我不明白如果这是预定义的步骤,为什么会发生这种情况。当我查询此页面上的视图时,我发现新旧应用程序构建之间没有区别。

我很欣赏任何见解。

0 投票
1 回答
80 浏览

android - 葫芦 - 我的设备不会旋转

我正在发现葫芦,将它与黄瓜一起使用,但我遇到了问题。

我开始了一些代码来测试我的基本应用程序:

一切正常,一切都过去了,直到我到达设备旋转步骤。它只是不起作用(不旋转)并且被视为“未定义”而不是通过并且最后一行被“跳过

测试就这样结束了。

我到处检查,只是无法弄清楚为什么它不起作用。

有人可以帮我吗?

0 投票
1 回答
151 浏览

ruby - Calabash-android:尝试按下具有坐标的对象并使用“perform_action”命令时出错

我正在尝试将 rect 输出与执行操作命令一起使用。例如:

试: perform_action('long_press_coordinate',200,y)

并得到错误:

这是我正在处理的语法问题还是更多?如何将 y 值“转换”为常规数字?

0 投票
1 回答
359 浏览

calabash - 如何测试字段验证?

我有验证代码,当它不满足要求时,它会设置 EditText 的错误。

这会在字段上方放置一个带有感叹号的红色小圆圈,当我触摸该字段时,它会在黑框中显示我的错误消息。伟大的!

现在我想让 calbash 验证该字段是否未通过验证。目前至少我不关心具体的错误消息 - 我只想知道显示了一条错误消息(或者我很乐意接受感叹号,但因为我无法使用查询找到它在控制台中,我怀疑这会更难)。

这个查询:

查找错误消息窗口(如果存在)。

但只有当有错误的字段有焦点时才会出现。而且我只在字段失去焦点时设置错误。应该没问题 - 我的步骤可以在字段中输入文本,离开字段,然后返回。当我手动执行这些操作时,会显示错误消息窗口。我还不能做的是编写一个步骤来完成这些事情并可靠地显示错误消息窗口。我努力了

并且对于第一个 EditText,这两个行为都正确,但无法为后续 EditText 显示错误消息窗口。为什么?这样做的正确方法是什么?

0 投票
1 回答
329 浏览

calabash - 葫芦查询语法中是否有 NOT 运算符?

标题很好地涵盖了我的问题。我如何(例如)获取 ID 不包含“some_prefix”的所有 TextView 元素?我可以获得所有 TextView 元素并对其进行迭代,剔除我不喜欢的元素(我可能会),但我宁愿有一个明确的查询来为我做这件事。

0 投票
1 回答
336 浏览

ruby - 应用程序需要 INJECT_EVENTS 权限 - 需要一个非优雅的解决方案:)

在我正在测试的应用程序中,我可以选择向客户发送反馈。当我使用该选项时,gmail 打开,然后我有点“锁定”在我的应用程序之外。当然query(“*”)返回 '[]' 和命令press_back_button给了我上面的错误。环顾四周,找到了一些根设备的解决方案。

对我来说这是不可能的——我们正在为客户开发应用程序,作为 QA 经理,我无法测试与最终客户不同的环境。

所以,我正在使用 adb shell 命令:

system("adb shell input text 'this%sis%san%sexample' ")

system("adb shell input keyevent 66")---输入

system("adb shell input keyevent 4")----为了回去

system("adb shell input keyevent 27")- - 拍照。

(您可以在此处找到完整列表 - ADB Shell 输入事件

但是,我在这里工作失明。

是否有等效于“查询”的 adb shell 命令?