问题标签 [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 投票
1 回答
474 浏览

android - 设备屏幕休眠时测试失败

我正在尝试在 Android 设备上运行一些 Calabash 测试。如果我在运行测试之前手动转动屏幕,那么一切正常。在 Nexus 4 上,如果我关闭屏幕并尝试运行测试,那么我的第一个场景会超时等待元素出现。在 Galaxy Nexus 上,如果我在关闭屏幕的情况下开始测试,那么 Calabash 会唤醒设备并且测试通过。

有没有一些 Calabash 根本无法唤醒的设备?Nexus 4 是其中之一吗?手动打开设备是不可行的,因为我会在许多设备上频繁运行这些测试。

我发现了一些对此问题的过时参考。Adam Niedzielski 于 2012 年在https://groups.google.com/forum/#!topic/calabash-android/o6lUuEOuGtE发表的一篇文章建议使用以下钩子app_life_cycle_hooks.rb

但是ruby-gem/bin/calabash-android在 Calabash 中添加了明确禁止包含该Operations模块的代码:https ://github.com/calabash/calabash-android/commit/995daef9b6636e7e4e572aeb5d4f90d6d072320f所以我想这不再是推荐的方法。如果我删除包含并只键入Calabash::Android::Operations.wake_up我会得到一个NameError.

0 投票
2 回答
396 浏览

cucumber - 将步骤加载到控制台?

是否可以将我定义的步骤定义加载到 calabash-android 控制台中?

我希望能够在控制台中导航应用程序时使用它们。

谢谢

0 投票
1 回答
316 浏览

ruby - 有没有办法参数化葫芦触摸或查询

有谁知道是否有办法在葫芦触摸/查询/等函数中使用变量?

例如,假设我有一个名为 hotel_name 的变量,我想 touch("* mapped:#{hotel_name}") 并在测试步骤中使用它,例如:

Given(/I select "(.*?)"$/) |hotel_name|

touch("* 标记:#{hotel_name}") 结束

它不适合我。那么有人可以告诉我这是否可以完成以及如何完成?

谢谢

0 投票
2 回答
854 浏览

android - 用葫芦检测安卓键盘?

我正在使用calabash-android为android应用程序编写一系列自动化测试,我需要能够检测android系统键盘是否可见并且(如果可能)读取一些键(即如果返回键说Done而不是NextEnter)。我知道有keyboard_visible?适用于 iOS 的命令,但我无法找到适用于 android 的任何类似命令。

有没有人构建自己的函数来处理这些实例?

0 投票
0 回答
133 浏览

android - Calabash 0.5.5 中的常量 STEP_PAUSE 会引发错误

我正在尝试将该行添加sleep(STEP_PAUSE)到我的 android 葫芦脚本中,但出现以下错误

为什么这没有初始化,有没有人有可以在 Calabash Android 0.5.5 中使用的常量、运算符和方法的类列表?

这是我找到的课程列表,但搜索很糟糕,我找不到我需要的东西:http ://www.rubydoc.info/gems/calabash-android/Calabash/Android

想知道 STEP_PAUSE 是否已被弃用?

这就是我想要做的。我正在尝试等待应用程序启动,然后打开侧面菜单。这是我正在使用的,但它并不总是成功的。好像90%有效率

另请注意 35 秒的超时选项似乎并不总是有效,但有助于稳定脚本。同样只有 90% 的时间它实际上是在等待和工作。这就是我尝试 SLEEP_PAUSE 的原因。SLEEP_PAUSE 在 iOS 中为我​​解决了很多问题。

0 投票
1 回答
2159 浏览

android - calabash-android:执行 press_back_button 时的 INJECT_EVENTS 权限(RuntimeError)

press_back_button这是我在 Calabash在步骤定义中遇到命令时收到的错误。通过控制台执行时它工作得很好,在测试中会产生该错误。

任何人都可以帮忙吗?


操作系统:OS X 10.10

设备:Genymotion v2.3.1 Android v4.4 仿真

葫芦-安卓 v0.5.5


0 投票
1 回答
857 浏览

visibility - 如何在葫芦中找到元素/图像的可见性

我正在使用平台 ruby​​ 开发葫芦 android。而且我必须找到一个元素/图像的可见性,它具有 id 以及只有一个属性,即 enabled ,这也总是正确的。

我尝试了选项 isVisible , isDislayed 但不确定这些属性是否存在

0 投票
2 回答
695 浏览

android - Calabash-android 与 Crosswalk v10.39.235.15

我正在开发一个包含以下技术的测试环境:Jenkins、Genymotion 和calabash-android。使用 ionic,我构建了一个简单的待办事项应用程序 - 事实上,它是本指南 ( http://ionicframework.com/docs/guide/installation.html ) 的一部分。然后,我为 calabash_android 编写了一个简单的功能,并附带了一些步骤来测试这个应用程序。

功能文件:

脚步:

当我运行它时,它成功了。所有步骤都通过了,两种情况都通过了,一切都很好。

如果我然后使用“离子浏览器添加人行横道”添加人行横道,我会遇到一些问题。

我编写的这些步骤停止工作,因为“CordovaWebView”不再存在。我期待这一点,因为人行横道将一切都嵌入到它自己的视图中。

问题是我无法查询该视图。当我使用 calabash-android 控制台启动新的 crosswalk'd 应用程序时,我可以“查询(” “)” - 这显示了大约 9 个不同的视图,其中一个感兴趣的是“XWalkCordovaView”。但是,如果我随后将步骤中的“CordovaWebView”替换为“XWalkCordovaView” - 步骤仍然失败。事实上,像这样查询 XWalkCordovaView:"query("XWalkCordovaView css:' '") 什么也没给我,而如果我在 noncrosswalk 应用程序中使用 CordovaWebView 这样做,我会得到页面上的所有 css 元素(如预期的那样)。

我不能真的/不/测试应用程序。但我需要人行横道来优化和测试 x86 架构的能力。

那么...如何在 CrosswalkCordova 视图中成功查询和操作元素?我找对地方了吗?似乎没有人知道,我用谷歌搜索了很多次,结果总是一个 github 用户询问是否“本机”支持人行横道(事实并非如此)。

任何帮助,将不胜感激。

0 投票
2 回答
430 浏览

android - 如何验证复选框是否为 ImageView

我正在使用 ruby​​ 2.0,在我的应用程序中,我有一个位于 ImageView 类中的复选框,并且所有用于验证复选框的属性,例如“选中”或“选中”都未启用。

现在在这种状态下如何验证复选框是否被选中?复选框的元素

0 投票
1 回答
135 浏览

continuous-integration - 如何在模拟器和实际设备上的 CI 中运行不同的场景?

我们正在使用 calabash-android 针对我们的 android 应用程序运行黄瓜场景。有些场景需要物理设备,而其他场景仅在模拟器上运行良好。我们如何配置构建以便标记为@requires_device 的场景在物理设备上运行但不在模拟器上运行?