无法预启动appium和应用程序没有使用appium安装在iphone真实设备中

时间:2015-05-15 12:57:32

标签: ios appium inspector

  1. 我使用的是appium 1.3.7版。
  2. 我通过usb连接了物理设备。
  3. 我推出了appium服务器,经过一段时间的appium崩溃。
  4. 我已粘贴下面的完整日志。
  5. 我附上了下面的屏幕截图。
  6. enter image description here

    Launching Appium with command: '/Applications/Appium.app/Contents/Resources/node/bin/node' lib/server/main.js --command-timeout "7200" --pre-launch --platform-version "8.1" --platform-name "iOS" --app "/Users/al/work/sample.app" --udid "f5de3fd5ccded92e40e86c652ce2a6f9414fe1a0" --device-name "iPhone 4s"
    
    info: [debug] Starting Appium in pre-launch mode
    
    info: Pre-launching app
    
    info: [debug] Using local app from command line: /Users//al/work/sample.app
    info: [debug] Creating new appium session 1cdc5dc0-36d2-40b9-922b-33601f28846b
    
    info: [debug] Removing any remaining instruments sockets
    
    info: [debug] Cleaned up instruments socket /tmp/instruments_sock
    info: [debug] Setting Xcode folder
    
    info: [debug] Setting Xcode version
    
    info: [debug] Setting iOS SDK Version
    
    info: [debug] Getting sdk version from xcrun with a timeout
    
    info: [debug] iOS SDK Version set to 8.1
    
    info: [debug] Not checking whether simulator is available since we're on a real device
    info: [debug] Detecting automation tracetemplate
    
    info: [debug] Not auto-detecting udid, running on sim
    
    info: [debug] Parsed app Info.plist (as binary)
    
    info: [debug] Parsed app Localizable.strings
    info: [debug] Getting bundle ID from app
    
    info: [debug] Parsed app Info.plist (as binary)
    
    info: [debug] Creating instruments
    info: On some xcode 6 platforms, instruments-without-delay does not work. If you experience this, you will need to re-run appium with the --native-instruments-lib flag
    info: [debug] Preparing uiauto bootstrap
    info: [debug] Dynamic bootstrap dir: /Users/alk/Library/Application Support/appium/bootstrap
    info: [debug] Dynamic env: {"nodePath":"/Applications/Appium.app/Contents/Resources/node/bin/node","commandProxyClientPath":"/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js","instrumentsSock":"/tmp/instruments_sock","interKeyDelay":null,"justLoopInfinitely":false,"autoAcceptAlerts":false,"autoDismissAlerts":false,"sendKeyStrategy":"grouped"}
    
    info: [debug] Dynamic bootstrap code: // This file is automatically generated. Do not manually modify!
    ...
    info: [debug] Dynamic bootstrap path: /Users/alk/Library/Application Support/appium/bootstrap/bootstrap-d5a0fb924946d8d3.js
    
    info: [debug] Reusing dynamic bootstrap: /Users/alk/Library/Application Support/appium/bootstrap/bootstrap-d5a0fb924946d8d3.js
    info: [debug] Getting device string from opts: {"forceIphone":false,"forceIpad":false,"xcodeVersion":"6.1.1","iOSSDKVersion":"8.1","deviceName":"iPhone 4s","platformVersion":"8.1"}
    info: [debug] fixDevice is on
    info: [debug] Final device string is: 'iPhone 4s (8.1 Simulator)'
    info: [debug] Not setting device type since we're on a real device
    info: [debug] Checking whether we need to set app preferences
    
    info: [debug] Not setting iOS and app preferences since we're on a real device
    info: [debug] Running ios sim reset flow
    info: [debug] Killing the simulator process
    info: [debug] Killall iOS Simulator
    
    info: [debug] Killing any other simulator daemons
    
    info: [debug] On a real device; cannot clean device state
    info: [debug] Not setting locale because we're using a real device
    info: [debug] No iOS / app preferences to set
    
    info: [debug] Starting iOS device log capture via deviceconsole
    
    info: [debug] Not pre-launching simulator
    
    info: [debug] Creating iDevice object with udid f5de3fd5ccded92e40e86c652ce2a6f9414ee1a2
    
    info: [debug] Checking app install status using: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/fruitstrap/fruitstrap isInstalled --id f5de3fd5ccded92e40e86c652ce2a6f9414ee1a2 --bundle com.vr.iphone.sample
    
    info: [debug] App is not installed. Will try to install the app.
    
    info: [debug] Installing app using cmd: /Applications/Appium.app/Contents/Resources/node_modules/appium/build/fruitstrap/fruitstrap install --id f5de3fd5ccded92e40e86c652ce2a6f9414ee1a2 --bundle "/Users/al/work/sample.app
    
    info: [debug] Cleaning up appium session
    
    error: Could not pre-launch appium: Error: Unable to install [/Users/al/work/sample.app] to device with id [f5de3fd5ccded92e40e86c652ce2a6f9414ee1a2]. Error [Error: Command failed: /bin/sh -c /Applications/Appium.app/Contents/Resources/node_modules/appium/build/fruitstrap/fruitstrap install --id f5de3fd5ccded92e40e86c652ce2a6f9414ee1a2 --bundle "/Users/al/work/sample.app"
    Assertion failed: (AMDeviceStartService(device, CFSTR("com.apple.afc"), &afcFd, NULL) == 0), function handle_device, file fruitstrap.c, line 523.
    ]
    

2 个答案:

答案 0 :(得分:0)

您可以使用Appium在您的设备上安装您的应用程序,只需手动卸载您的应用程序,并在setUp代码中使用.apk文件的绝对路径,如下所示:

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability(“platformName”,“Android”);

capabilities.setCapability(“VERSION”,“5.1.1”);

capabilities.setCapability(“deviceName”,“Name”);

文件appDir =新文件(“/ home / filename / ProjectFile”);

文件app =新文件(appDir,“appname.apk”);

capabilities.setCapability( “应用程序”,app.getAbsolutePath());

它会在您的设备上安装您的应用。

答案 1 :(得分:0)

你说你试图在真实设备上启动,但你的日志说你试图在模拟器上启动。

如果您使用的是appium的UI版本,请取消选中appium中的Force Device选项,并为您在appium和prelaunch中连接的实际设备提供UDID。你的应用程序将被安装。