calabash-ios 不适用于 iOS 7.1 模拟器
calabash-ios not working with iOS 7.1 Simulators
我正在尝试使用 Calabash 进行一些自动化 UI 测试,当我 运行 在 iOS 8 个模拟器上运行时一切正常,但是,当我切换时iOS 7 模拟器,它似乎无法完全启动应用程序。
该应用程序将打开,完成初始屏幕,然后不久就会崩溃,calabash 将再次重试。这将无限期地持续下去,直到我手动退出它。
在 运行ning 之间唯一发生变化的是我的设备目标,目前我使用以下设备目标:
DEVICE_TARGET="iPhone 5 (7.1 Simulator)"
当我在 8.4 设备上 运行 时,它看起来像下面这样:
DEVICE_TARGET="iPhone 5 (8.4 Simulator)"
知道为什么这不起作用吗? calabash 不支持 7.1-ios?
更多信息:
- Calabash 的版本是 0.14.3
- 在其他模拟器上完美运行,iPhone6,iPhone6 Plus,iPhone5s,只要它的运行ning iOS8或更大
- 我暂时无法在 iOS 8 上进行我想做的特定测试,我们有一个 UI bug 只存在于 iOS 8 中,所以这个特定的暂时需要在 iOS 7 中进行 运行 测试,直到 UI 问题得到解决
- 我知道我正在尝试 运行 的功能有效,而且我的葫芦设置正确,这是我需要 运行 和编写的最后测试脚本之一,以及所有另一个工作完美,所以我怀疑这可能是 iOS 7 的问题,或者我的 iOS 7 模拟器与 iOS 8 模拟器相比的设置方式。
如果您能提供任何帮助,我将不胜感激!
更新这个有一些关于如何解决这个问题的建议。
官方表示,Calabash iOS 在 Yosemite 上支持 iOS >= 7.1 模拟器,在 Mavericks 上支持 iOS >= 7.0.3。
您在物理设备上是否遇到同样的问题?
如果你有:
- 更改了文件系统上的位置或重命名了 Xcode.app 目录,
- 安装了新的 Xcode 版本,或
- 安装了新的iOS模拟器
您必须重新启动 Mac 以使 CoreSimulator 环境恢复正常。
话虽如此,我正在为 运行-loop 进行集成测试,但我看到在 Yosemite 上 Xcode 6.4 中启动 iOS 7.1 模拟器时出现无法解释的错误. Yosemite.
上的 iOS 7.1 模拟器似乎无法使用 UIAutomation
$ DEBUG=1 be run-loop instruments \
launch --app ./CalSmoke-cal.app \
--device "iPhone 5s (7.1 Simulator)"
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00000001032a6286 __pthread_kill + 10
1 libsystem_sim_c.dylib 0x0000000102fd4e59 abort + 101
2 com.apple.ScreenReaderCore 0x00000001047d3114 SCRCUncaughtExceptionHandler + 97
3 com.apple.CoreFoundation 0x0000000100691bf5 __handleUncaughtException + 629
4 libobjc.A.dylib 0x00000001025bebf5 _objc_terminate() + 94
5 libc++abi.dylib 0x0000000102e4de91 std::__terminate(void (*)()) + 8
6 libc++abi.dylib 0x0000000102e4d91d __cxa_throw + 124
7 libobjc.A.dylib 0x00000001025bea9d objc_exception_throw + 298
8 com.apple.CoreFoundation 0x000000010060d2ad +[NSException raise:format:] + 205
9 com.apple.UIAutomation 0x0000000100de96f7 +[UIAXElement initializeAccessibility] + 540
10 com.apple.UIAutomation 0x0000000100dec791 +[UIAXElement uiaxSystemWideElement] + 36
11 com.apple.UIAutomation 0x0000000100dff833 -[UIATarget init] + 300
12 com.apple.UIAutomation 0x0000000100dff6f9 +[UIATarget localTarget] + 53
13 ScriptAgent 0x0000000100008ea8 0x100000000 + 36520
14 ScriptAgent 0x0000000100004b17 0x100000000 + 19223
15 ScriptAgent 0x0000000100006e22 0x100000000 + 28194
16 libdyld.dylib 0x00000001031795c9 start + 1
我在 运行-loop 上尝试了几个补丁,但没有任何效果。
还有这个来自Console.app
com.apple.CoreSimulator.CoreSimulatorService[81434]: Failed to open
/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib:
dlopen(/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib, 1): no suitable image found.
Did find:
/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib:
mmap() error 1 at address=0x11837B000, size=0x00002000 segment=__TEXT in Segment::map()
mapping /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib
我正在尝试使用 Calabash 进行一些自动化 UI 测试,当我 运行 在 iOS 8 个模拟器上运行时一切正常,但是,当我切换时iOS 7 模拟器,它似乎无法完全启动应用程序。
该应用程序将打开,完成初始屏幕,然后不久就会崩溃,calabash 将再次重试。这将无限期地持续下去,直到我手动退出它。
在 运行ning 之间唯一发生变化的是我的设备目标,目前我使用以下设备目标:
DEVICE_TARGET="iPhone 5 (7.1 Simulator)"
当我在 8.4 设备上 运行 时,它看起来像下面这样:
DEVICE_TARGET="iPhone 5 (8.4 Simulator)"
知道为什么这不起作用吗? calabash 不支持 7.1-ios?
更多信息:
- Calabash 的版本是 0.14.3
- 在其他模拟器上完美运行,iPhone6,iPhone6 Plus,iPhone5s,只要它的运行ning iOS8或更大
- 我暂时无法在 iOS 8 上进行我想做的特定测试,我们有一个 UI bug 只存在于 iOS 8 中,所以这个特定的暂时需要在 iOS 7 中进行 运行 测试,直到 UI 问题得到解决
- 我知道我正在尝试 运行 的功能有效,而且我的葫芦设置正确,这是我需要 运行 和编写的最后测试脚本之一,以及所有另一个工作完美,所以我怀疑这可能是 iOS 7 的问题,或者我的 iOS 7 模拟器与 iOS 8 模拟器相比的设置方式。
如果您能提供任何帮助,我将不胜感激!
更新这个
官方表示,Calabash iOS 在 Yosemite 上支持 iOS >= 7.1 模拟器,在 Mavericks 上支持 iOS >= 7.0.3。
您在物理设备上是否遇到同样的问题?
如果你有:
- 更改了文件系统上的位置或重命名了 Xcode.app 目录,
- 安装了新的 Xcode 版本,或
- 安装了新的iOS模拟器
您必须重新启动 Mac 以使 CoreSimulator 环境恢复正常。
话虽如此,我正在为 运行-loop 进行集成测试,但我看到在 Yosemite 上 Xcode 6.4 中启动 iOS 7.1 模拟器时出现无法解释的错误. Yosemite.
上的 iOS 7.1 模拟器似乎无法使用 UIAutomation$ DEBUG=1 be run-loop instruments \
launch --app ./CalSmoke-cal.app \
--device "iPhone 5s (7.1 Simulator)"
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00000001032a6286 __pthread_kill + 10
1 libsystem_sim_c.dylib 0x0000000102fd4e59 abort + 101
2 com.apple.ScreenReaderCore 0x00000001047d3114 SCRCUncaughtExceptionHandler + 97
3 com.apple.CoreFoundation 0x0000000100691bf5 __handleUncaughtException + 629
4 libobjc.A.dylib 0x00000001025bebf5 _objc_terminate() + 94
5 libc++abi.dylib 0x0000000102e4de91 std::__terminate(void (*)()) + 8
6 libc++abi.dylib 0x0000000102e4d91d __cxa_throw + 124
7 libobjc.A.dylib 0x00000001025bea9d objc_exception_throw + 298
8 com.apple.CoreFoundation 0x000000010060d2ad +[NSException raise:format:] + 205
9 com.apple.UIAutomation 0x0000000100de96f7 +[UIAXElement initializeAccessibility] + 540
10 com.apple.UIAutomation 0x0000000100dec791 +[UIAXElement uiaxSystemWideElement] + 36
11 com.apple.UIAutomation 0x0000000100dff833 -[UIATarget init] + 300
12 com.apple.UIAutomation 0x0000000100dff6f9 +[UIATarget localTarget] + 53
13 ScriptAgent 0x0000000100008ea8 0x100000000 + 36520
14 ScriptAgent 0x0000000100004b17 0x100000000 + 19223
15 ScriptAgent 0x0000000100006e22 0x100000000 + 28194
16 libdyld.dylib 0x00000001031795c9 start + 1
我在 运行-loop 上尝试了几个补丁,但没有任何效果。
还有这个来自Console.app
com.apple.CoreSimulator.CoreSimulatorService[81434]: Failed to open
/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib:
dlopen(/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib, 1): no suitable image found.
Did find:
/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib:
mmap() error 1 at address=0x11837B000, size=0x00002000 segment=__TEXT in Segment::map()
mapping /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib