Issues running iOS devices

I have several iOS devices that I’m trying to run on a private instance, and each of them has a different issue

I have followed the instructions for iOS mobile agent and have jailbroken my devices and installed node on my mac machine

this is how I’m starting the mobile agent:

./wptdriver.sh -s http://webpagetest.mydomain.com -l Local-iPadAir2 -m info -b ios:<40 character string> --processvideo yes

I’m able to see this device in my under http://webpagetest.mydomain.com/install as connected and am able to trigger the test on the device.

Ipad-2 - jailbroken iOS 8.3
I’m unable to capture any video or save response bodies.
but I’m able to see the film strip.

However, the console output throws following error:

[quote]I Dec_01_16:37:06.331 browser_ios.js:58 new BrowserIos : BrowserIos({“cmd”:“run”,“runNumber”:2,“isCacheWarm”:true,“exitWhenDone”:true,“timeout”:120000,“runTempDir”:“runtmp/<40 character string>”,“workDir”:“work/<40 character string>”,“flags”:{“deviceSerial”:“<40 character string>”,“serverUrl”:“http://webpagetest.mydomain.com”,“iosDevImageDir”:“/Users/testUser/Code/wpt/agent/js/lib/ios/DeviceSupport”,“iosVideoDir”:“/Users/testUser/Code/wpt/agent/js/lib/ios/video”,“browser”:“browser_ios.BrowserIos”,“iosSshProxyDir”:“/Users/testUser/Code/wpt/agent/js/lib/ios/usbmux_python_client”,“iosUrlOpenerApp”:“/Users/testUser/Code/wpt/agent/js/lib/ios/openURL/openURL*.ipa”,“processvideo”:“yes”,“location”:“Local-iPadAir2”,“captureDir”:“/Users/testUser/Code/wpt/agent/js/lib/capture”,“iosIDeviceDir”:“/Users/testUser/Code/wpt/agent/js/lib/ios/idevice/Darwin x86_64”},“task”:{“Test ID”:“151202_6F_b9a127e1494414dd636c26a59a8866eb”,“url”:“http://www.apple.com”,“Capture Video”:1,“runs”:2,“browser”:“iPadAir2”,“bodies”:1,“orientation”:“default”,“hostsFile”:“127.0.0.1 localhost\n”}})
.
I Dec_01_16:37:08.040 process_utils.js:365 unknown : Spawning: /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord -q -d -f -i <40 character string> -o runtmp/<40 character string>/video.mp4
E Dec_01_16:37:10.783 process_utils.js:371 Socket. : /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord STDERR: 2015-12-01 16:37:10.783 xrecord[14202:175640] Starting capture…
E Dec_01_16:37:14.565 process_utils.js:371 Socket. : /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord STDERR: 2015-12-01 16:37:14.564 xrecord[14202:175640] Recording started. Hit ctrl-C to stop.
E Dec_01_16:37:14.706 process_utils.js:371 Socket. : /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord STDERR: [16:37:14.706] vtDecompressionDuctDecodeSingleFrame signalled err=-8969 (err) (VTVideoDecoderDecodeFrame returned error) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.238/Sources/VideoToolbox/VTDecompressionSession.c line 3241
E Dec_01_16:37:14.709 process_utils.js:371 Socket. : /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord STDERR: [16:37:14.710] vtDecompressionDuctDecodeSingleFrame signalled err=-8969 (err) (VTVideoDecoderDecodeFrame returned error) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.238/Sources/VideoToolbox/VTDecompressionSession.c line 3241
E Dec_01_16:37:14.710 process_utils.js:371 Socket. : /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord STDERR: [16:37:14.711] vtDecompressionDuctDecodeSingleFrame signalled err=-8969 (err) (VTVideoDecoderDecodeFrame returned error) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.238/Sources/VideoToolbox/VTDecompressionSession.c line 3241
I Dec_01_16:37:14.726 process_utils.js:365 unknown : Spawning: ‘/Users/testUser/Code/wpt/agent/js/lib/ios/idevice/Darwin x86_64/ios_webkit_debug_proxy’ -c <40 character string>:5422
E Dec_01_16:37:14.763 process_utils.js:371 Socket. : /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord STDERR: [16:37:14.764] vtDecompressionDuctDecodeSingleFrame signalled err=-8969 (err) (VTVideoDecoderDecodeFrame returned error) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.238/Sources/VideoToolbox/VTDecompressionSession.c line 3241
E Dec_01_16:37:14.785 process_utils.js:371 Socket. : /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord STDERR: [16:37:14.786] vtDecompressionDuctDecodeSingleFrame signalled err=-8969 (err) (VTVideoDecoderDecodeFrame returned error) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.238/Sources/VideoToolbox/VTDecompressionSession.c line 3241
E Dec_01_16:37:14.800 process_utils.js:371 Socket. : /Users/testUser/Code/wpt/agent/js/lib/ios/video/xrecord STDERR: [16:37:14.799] vtDecompressionDuctDecodeSingleFrame signalled err=-8969 (err) (VTVideoDecoderDecodeFrame returned error) at /SourceCache/CoreMedia_frameworks/CoreMedia-1562.238/Sources/VideoToolbox/VTDecompressionSession.c line 3241[/quote]

Are all 3 devices connected to the same Mac? If so you’re going to have a bad time with video in general (Quicktime freaks out switching between devices). Each phone requires a dedicated Mac for video right now. Also, are you running the latest from Git or one of the released distributions?

What do you mean about not being able to capture video? If you see the filmstrip then video was captured. The xrecord error messages are normal and something that quicktime kicks out but shouldn’t impact the video capture.

The mobile agents (iOS or Android) do not support capturing the response bodies so that’s expected.

Thank you for your response Patrick.

No, I’m running 1 device per mac. Yes, its the latest code from the git repo. I was not aware the response bodies are not being captured on mobile agents.

Investigating further into the video issue, I found out that video playback isn’t working. Its not just limited to mobile but also desktop. attached is the screenshot of install checklist.
Any pointers towards resolving this would be appreciated.

For the iPhone-4 , before going to any url, i get a screen pop-up “Cannot Open Page, Safari cannot open the page because it is a local file” – see attached screenshot
And I don’t see any film strip or video url in the result summary (attached screenshot)

iPhone6 film strip -
I’m not confident that the numbers being captured are accurate because I’m seeing a sudden jump in the film strip from 2% to 99%, contrary to the usual desktop filmstrip which captures progression at each interval.

Sorry about the delay, mostly because I don’t have a good idea of what is going on. For the “local file” message, is that when the browser initially launches or when it is running the test? We launch safari opening about:blank but I’ve never seen it fail before.

For the video playback, if you download the video do you get a valid mp4 video (playback in vlc)? I’m wondering if it is a player issue or an actual rendering issue.

The “local file” message appears for every test of iPhone 4. I have not seen it on other devices (iPhone 6 & iPad Air)

I’m unable to download any video from the browser. However, I do see the .mp4 's under the results/video path on the server.

FWIW, video will only work for devices with lightning adapters (which means not the iPhone 4’s). What version of iOS is on the iPhone 4?