所以我曾经让calabash工作正常,但现在必须做一些更自动化的UI测试,并试图让它再次运行。我升级了我的版本,似乎Calabash不再启动服务器了!我没有在启动时看到Starting LPHTTPServer on port...
,而是在我的控制台中看到以下输出:
2015-10-14 08:18:36.903 DEBUG CalabashServer:222 | Creating the server: <LPHTTPServer: 0x7fa779c51f80>
2015-10-14 08:18:36.920 DEBUG CalabashServer:223 | Calabash iOS server version: CALABASH VERSION: 0.16.4
2015-10-14 08:18:36.920 DEBUG CalabashServer:226 | App Base SDK: iphonesimulator9.0
2015-10-14 08:18:36.921 DEBUG CalabashServer:254 | IPHONE_SIMULATOR_ROOT: /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 8.4.simruntime/Contents/Resources/RuntimeRoot
由于这个问题,或者可能是一个单独的问题(我目前有很多问题),它无法触摸模拟器或与模拟器交互,甚至可以用葫芦开始我的应用程序。
我正在运行calabash 0.16.4,来自0.14.3,它运行良好。我尝试在iOS 8.3和9上运行iPhone 6,而运行iOS 8.4的iPhone 5s模拟器也没有运行。有关如何使其重新启动并运行的任何想法?
编辑:有关我的设置的一些信息:
calabash-ios version
0.16.4
xcode-select --print-path
/Applications/Xcode.app/Contents/Developer
xcodebuild -version
Xcode 7.0
Build version 7A218
server_version
{
"device_family" => "iPhone Simulator",
"outcome" => "SUCCESS",
"server_port" => 37265,
"simulator_device" => "iPhone",
"simulator" => "CoreSimulator 179 - Device: iPhone 5s - Runtime: iOS 8.4 (12H141) - DeviceType: iPhone 5s",
"app_name" => "Discover",
"app_version" => "1",
"screen_dimensions" => {
"sample" => 1,
"height" => 1136,
"width" => 640,
"scale" => 2
},
"git" => {
"revision" => "3bf68ff",
"remote_origin" => "git@github.com:calabash/calabash-ios-server.git",
"branch" => "master"
},
"device_name" => "iPhone Simulator",
"4inch" => true,
"app_id" => "com.solstice.discoverfinancialenterprise.mobile",
"form_factor" => "iphone 4in",
"system" => "x86_64",
"version" => "0.16.4",
"iOS_version" => "8.4",
"short_version_string" => "6.6.1 UAT",
"ios_version" => "8.4",
"iphone_app_emulated_on_ipad" => false,
"model_identifier" => "iPhone6,1",
"app_base_sdk" => "iphonesimulator9.0"
}
答案 0 :(得分:1)
所以,事实证明根本原因显然是在我的设备目标中?看起来Calabash已经改变了自0.14.3以来命名模拟器的方式,因此你不需要使用“iPhone 5s(8.4模拟器)”,你现在需要使用“iPhone 5s(8.4)”
答案 1 :(得分:0)
我们没有更改模拟器的名称 - Apple确实如此。
您可以使用以下命令查看可用模拟器和设备的名称:
$ xcrun instruments -s devices
< snip >
iPhone 6s (9.0) [4A3868FF-E25D-4C92-B898-4BB271F21015]
从该输出中,DEVICE_TARGET的有效值为:
DEVICE_TARGET="iPhone 6s (9.0)"
DEVICE_TARGET=4A3868FF-E25D-4C92-B898-4BB271F21015
Apple在Xcode 5,6和7中更改了模拟器的名称。