Appium 1.4.11 - Xcode 7 - iOS 9 runs very slow

do we need to execute it once or before each test?

did i understand correctly that needed to enter:
'sh /Applications/Appium.app/Contents/Resources/node/lib/node_modules/appium/bin/xcode_iwd.sh /Applications/Xcode.app appium in mine case?

tried and got: /Applications/Xcode.app: /Applications/Appium.app/Contents/Resources/node/lib/node_modules/appium/bin/xcode_iwd.sh: Permission denied

then did: chmod 700 /Applications/Appium.app/Contents/Resources/node/lib/node_modules/appium/bin/xcode_iwd.sh

and now:
sh -c /Applications/Appium.app/Contents/Resources/node/lib/node_modules/appium/bin/xcode_iwd.sh /Applications/Xcode.app appium
File Doesn’t Exist, Will Create: /Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Developer/Library/LaunchDaemons/com.apple.instruments.deviceservice.plist
File Doesn’t Exist, Will Create: /Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Developer/Library/LaunchDaemons/com.apple.instruments.deviceservice.plist
File Doesn’t Exist, Will Create: /Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Developer/Library/LaunchDaemons/com.apple.instruments.deviceservice.plist

Do you know which appium path should passed when I’m using appium from command line?

Thanks a lot! Which appium path you used for this scrpit?

sh ./xcode_iwd.sh /Applications/Xcode.app /usr/local/lib/node_modules/appium

Is there a way to know if the appium server is running with this library? I can’t seem to get this to work and it looks like my plist is exactly the same except for the appium path.

Dict {
Program = /Developer/Library/PrivateFrameworks/DVTInstrumentsFoundation.framework/DTServiceHub
EnvironmentVariables = Dict {
LIB_PATH = /Users/Ben/repos/appium/node_modules/appium-instruments/thirdparty/iwd7/
DYLD_INSERT_LIBRARIES = /Users/Ben/repos/appium/node_modules/appium-instruments/thirdparty/iwd7/DTMobileISShim.dylib
}
JetsamProperties = Dict {
JetsamMemoryLimit = 0
}
POSIXSpawnType = Adaptive
MachServices = Dict {
com.apple.instruments.deviceservice.xpc = true
com.apple.instruments.deviceservice.lockdown = true
}
EnableTransactions = true
Label = com.apple.instruments.deviceservice
}

Should something like the following be displayed in the server log? I’m not seeing them, but I’ve seen other peoples’ logs displaying this and was wondering if I’m doing something wrong and that’s why I’m not seeing it.

debug: And extra without-delay
env: {“DYLD_INSERT_LIBRARIES”:“/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-instruments/thirdparty/iwd/InstrumentsShim.dylib”,“LIB_PATH”:“/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-instruments/thirdparty/iwd”}

thanks! but same result.

i have Appium 1.4.14 installed with “npm install -g appium” and GUI client also.

I had to down grade to Xcode 7.0.1 inorder to use this. Xcode 7.1 runs really slow still.

@DexRobinson have you tried to execute the xcode_iwd.sh script ?

Since I’ve run it , the execution time , backed to normal

No I haven’t tried that, how do I do that?

Nvm, I see your post about calling,

sh ./xcode_iwd.sh /Applications/Xcode.app /usr/local/lib/node_modules/appium

I haven’t upgraded to 1.4.16 I just upgraded to 1.4.15 and it seems to be working still(Xcode 7.0.1). I don’t know what those lines are from since I don’t fully understand Xcode and all the file types. The error(instruments-without-delay does not work) is normal as it says that on mine as well. If you follow the link I put in(Xcode 6 + iOS 7.1 sim slowness?) it does a work around that works.

I ran into that same issue @djwgit and ran an instruments script directly to get around it. It doesn’t help with the rest of the slowness, but it helps for that one scenario.

MobileElement button = (MobileElement) driver.findElement(By.name("buttonName"));
driver.executeScript("au.getElement('" + button.getId() + "').tapWithOptions({tapCount:3});");

Does it work for you guys on xcode 7.2, ios 9.2? It’s back to running very slow, even with the fix from lawrence with xcode7-quirks.

My Setup:

  • iOS 9.2
  • Xcode 7.2
  • Appium 1.4.13

When you build, did you point to the right version of simluator? i.e. 9.2 in your case? I had the same issue when I pointed to, i.e. 9.1 but i launch a 9.2 simluator and hence I see no increase in test run performance

Pay attention to this when you ./build.sh

SDKROOT = iphonesimulator9.1

i had to run it with sudo in order to have the file changed. seems to work faster now.
see https://github.com/appium/appium/pull/6138

Does this work faster with iOS real device?

I tried to install iwd-xcode7, after that test with iOS9 simulator gets very faster,
but with iPhone6 doesn’t change.

iOS9 simulator (iPhone6s) -> my test time is 5 minutes iPhone6 (9.2.1) -> my test time is 5 minutes iOS9 simulator (iPhone6s) -> my test time is 2.5 minutes iPhone6 (9.2.1) -> my test time is 5 minutes, same...

<Env.>
[email protected]
Xcode7.2.1 build App

as far as I know this doesn’t work with real devices. see https://github.com/appium/appium/issues/754#issuecomment-60144949

So I’ve gone through the setup but I can’t seem to get it work. There is no difference in length of time it takes my tests to run. Does anyone have any suggesstions? My current setup is:

Appium.app 1.14.16
Mac OSX 10.10.5 Yosemite
Xcode 7.0
iOS Simulator 9.0

i had to run iwd with sudo in order to have the /Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Developer/Library/LaunchDaemons/com.apple.instruments.deviceservice.plist changed. can you check the timestamp of this file after running the iwd command?

I am also facing the same issue .

The above command appium path is not present inside /usr/local/lib/node_modules/appium

its different path

I am totally stuck please its urgent