问题标签 [calabash-ios]

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 回答
289 浏览

objective-c - Calabash-ios - 把设备设为飞行模式

使用 calabash-ios 测试设备时,有什么方法可以与 iPhone 的设置进行交互?

使用 Android 的葫芦 (calabash-android) 我可以使用 adb,Android 设备桥在我的步骤定义中进行系统调用。例如:system(adb shell am broadcast -a android.intent.action.AIRPLANE_MODE)

这将直接调用 Android 操作系统。

我不想手动设置设备然后运行测试。我想自动化它。这可能吗?

示例:我想看看我的所有测试是否在飞行模式开启的情况下通过。然后我想以编程方式将飞行模式设置为关闭,看看我的所有测试是否都通过了。我宁愿不必手动更改这样的设置,然后运行所有测试。

谢谢

0 投票
1 回答
540 浏览

jenkins - Jenkins 中止时不会停止黄瓜测试(按下停止 [x] 按钮)

我有葫芦在 Jenkins 上运行 iOS 测试。当作业遇到失败时,我有时会通过按作业中的 stop[x] 按钮手动中止测试。问题是即使我中止了功能文件中的下一个测试也开始运行。通过终端启动测试时未观察到此行为。在终端中退出黄瓜测试时,sim 会返回首页,并且不会启动其他测试。

我发现了一个可能有用的钩子

但是,有时我不希望它仅仅因为一个场景失败而停止。我觉得詹金斯需要杀死所有进程,而不是。

如果有人知道如何在 Jenkins 被指示中止后通过终端手动杀死葫芦及其实例,我也会对此感兴趣。

我试过了:

不幸的是,这并没有奏效。可能有两个原因

  1. greping 仪器显示两个或多个进程

20272 ?? S 0:00.00 sh -c xcrun instruments -w "iPhone 5 (8.1 Simulator)...

20273 ?? S 0:00.45 /Applications/Xcode.app/Contents/Developer/usr/bin/instruments -w iPhone 5]...

我应该切换 awk 以打印第 1 列吗?

或原因二

  1. 我没有正确的过程?

这是我的一些版本信息:

葫芦-ios版本:0.11.4

葫芦::黄瓜::MIN_SERVER_VERSION: 0.11.4

Xcode 6.1

0 投票
1 回答
575 浏览

calabash - 将文本输入值分配给 Calabash 中的变量

我正在评估来自 Appium 和 Selenium 背景的葫芦。

在 Selenium 中,我可以简单地将 分配.attribute("value")给一个变量,然后用它做我想做的事情。我在葫芦里寻找类似的东西。

特别是在一个 Android 应用程序中(虽然我正在寻找一个跨平台的解决方案)我有一个EditText我可以查询的:text,我可以看到输出中的值,即

如何执行与葫芦中的步骤定义相同的功能并将输出(即17512)分配给变量?

非常感谢任何建议。

0 投票
3 回答
3350 浏览

ruby - 在calabash iOS中滑动命令

嗨,我必须刷一堆屏幕,我尝试了一些语法,比如

但它会滑动并将屏幕返回到同一屏幕。

0 投票
1 回答
1252 浏览

jenkins - Calabash iOS 即使在定义了 DEVICE_TARGET 之后也会启动默认模拟器

在 Jenkins 中,我将以下内容传递给 shell:

然而,黄瓜脚本不断启动设备 iPhone 5(8.1 模拟器)。

当我从终端运行 DEVICE_TARGET='iPhone 6 (8.1 Simulator)' 时,一切都按预期工作。

我已经清除了派生数据,从 Xcode 中清理和重建并重置了模拟器。这似乎并没有解决问题。Jenkins 作业中是否有缓存的东西不断告诉脚本运行 iPhone 5(8.1 模拟器)?

是否有另一种方法来定义要从 pre_stop_hooks 或 launch.rb 启动的设备?

0 投票
1 回答
814 浏览

ios - 在 Jenkins 构建服务器上进行 Calabash 测试

在配置 Jenkins 构建作业方面,我作为一个完整的新手来解决这个问题。我几乎可以理解此刻发生了什么。

我有正确运行的本地葫芦测试,并且我的项目是根据这种方式设置的:链接创建新方案以运行测试的位置。

我真的不知道从哪里开始寻找在 Jenkins 上运行测试。我是否需要先在构建服务器上安装黄瓜,还是可以作为构建步骤的一部分来完成?我问这个是因为开始测试的命令是DEVICE_TARGET='iPhone 6 (8.1 Simulator)' cucumber.

我所要求的只是教程的正确方向。

0 投票
1 回答
316 浏览

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

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

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

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

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

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

谢谢

0 投票
1 回答
111 浏览

ios-simulator - 0.11.4 横向触摸似乎偏离目标

最初,我们在 8 月份就已经开始连续运行自动化测试。一段时间后,它们变得过时了,我们不得不搁置它们。我试图让它们再次工作,在将 Calabash-ios、calabash 服务器和 Calabash 组件更新到 Xamarin Cloud 组件后,我遇到了问题。触摸呼叫不再正常工作。触摸似乎偏离了目标。

例如:我尝试触摸我们应用程序的登录按钮,而不是按下键盘上的“r”按钮。键盘也没有盖住按钮。

我已经尝试过这里给出的解决方法,认为可能是横向导致了问题,但没有运气。

这是使用运行 iOS 8.1 的 iPad 2 模拟器。我也试过 7.1 并且有同样的问题。如果这有什么不同,我们正在使用 Xamarin。

版本:

我也可以从 calabash-ios 控制台复制它。

这两个命令都单击数字键盘上的“R”按钮:

当此命令正确单击登录按钮时:

有没有人见过这样的东西?此外,当我使用物理设备时,这不会发生。

0 投票
1 回答
322 浏览

ios - 如何将 xcrun 环境变量传递给 Calabash 启动器?

我正在使用 calabash-cucumber 版本 0.11.3、run_loop 版本 1.0.9 运行 calabash-ios。

作为调试我们的应用程序的一部分,我们放入一个环境变量以在运行时使用。我一直在使用 xcrun 来启动应用程序:

或者,在使用 xcode GUI 时,我会将其放在方案环境变量列表中。

使用葫芦运行时如何设置环境变量(-e)?

0 投票
2 回答
449 浏览

ios - 运行 Calabash Cucumber 测试作为不同语言/区域设置的 CI 的一部分

我目前正在调查为 iOS 运行 Calabash/Cucumber 测试,作为 Jenkins 构建工作的一部分。这个想法是它将针对应用程序支持的不同语言运行测试。

构建应用程序后初始化测试的代码是:

我遇到了这个项目(https://github.com/jonathanpenn/ui-screen-shooter),它运行一些自动化测试并以不同的语言启动应用程序,但看不到如何将其融入我的项目。

使用黄瓜时如何设置模拟器启动的语言?