繁体   English   中英

在iOS设备上进行葫芦测试会启动应用,但在“方案”中冻结

[英]Calabash testing on iOS device starts app but freezes on “Scenario”

我一直在尝试使用Calabash测试一些简单的iOS应用程序。 我能够在模拟器上运行该应用程序,并且所有步骤工作正常。 现在,我想在iOS设备上对其进行测试,但是遇到了一些问题。 我使用所有必要的信息运行此命令:

BUNDLE_ID=... DEVICE_TARGET=... DEVICE_ENDPOINT=http://MY_IP:37265 cucumber

一段时间后,该应用程序在iPhone中打开,我在控制台上获得了常规信息:

Feature: Running a test
  As an iOS developer
  I want to have a sample feature file
  So I can begin testing quickly

  Scenario: Example steps              # features/my_first.feature:6

但是它永远在那里。 我离开了一段时间,它什么也没做。

我也尝试过Appium进行测试,它在模拟器和iPhone上都可以正常工作,所以我想Profiles和设备本身都不是问题。

是什么导致此问题?

My setup:
- Mac OS X 10.10.3
- Xcode Version 6.3 (6D570)
- iPhone 4 - iOS 7.1.2 (11D257)
- calabash-cucumber (0.14.0)
- cucumber (1.3.19)

UPDATE

尝试curl http://192.168.200.168:37265/version (由@alannichols建议)我得到:

Failed to connect to 192.168.200.168 port 37265: Operation timed out

但是我得到了测试,进入第一步,从Xcode(在设备上)执行-cal目标并运行命令:

NO_LAUNCH=1 DEVICE_TARGET=... DEVICE_ENDPOINT=http://192.168.200.168:37265 cucumber

仍然出现错误,但是这次是timeout错误:

Operation timed out - connect(2) for "192.168.200.168" port 37265 (Errno::ETIMEDOUT)

这是否意味着我以某种方式无法发送请求到达iPhone?

如果应用程序打开但没有任何反应,通常与设备端点设置不正确有关。 该应用程序将根据捆绑包ID打开,但随后calabash尝试通过设备端点与该应用程序进行交互。

尝试在calabash控制台中运行该应用程序,如果该应用程序的行为与测试中的行为相同,则该设备端点存在问题。 需要检查的一些想法是,您位于电话上的同一网络上,并且正在运行测试的计算机上,您的vpn是否以某种方式干扰了通信,或者测试计算机上的仪器是否打开。

打开应用程序后,您应该可以运行

curl http://your.ip.address:37265/version

并获得带有葫芦版本号的响应。 如果您无法做到这一点,那么葫芦将无法在您的测试中做任何事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM