iOS 11 Beta Support

Hi Team,

I have upgraded my iPhone 6s device to iOS 11 Beta 2. However, I’m unable to execute Test Scenarios on Hybrid apps because the ios-webkit-debug-proxy is unable to inspect the webpages of iOS 11 devices.

This issue is already raised at ios-webkit-debug-proxy’s github site but there’s no confirmed date regarding the release of fix.
Ref:- https://github.com/google/ios-webkit-debug-proxy/issues/208

Do we have any other alternative to ios-webkit-debug-proxy ?

Awaiting your reply.

Thanks,
Anuja

1 Like

@AnuKadloor Do you able execute your test cases on ios 11 device?

@Swapan_Chhabra
Apologies for the late reply… There was an issue with ios-webkit-debug-proxy, however it is resolved now.
Not sure whether it will help you now… I’m hoping you might have already resolved your issue :slight_smile:

Thanks,
Anuja

@AnuKadloor
Hi, Can you please share the setup required for execution in iOS11, or any other special things to follow ,currently i am working on iOS10 with the following configuration
Mac OS version :10.12.5
Appium: 1.6.4
Java client: 3.2.0
Selenium: 2.53.1
This would be a great helpful for me. if possible share some reference links.

First of all you need appium 1.7.0 (follow this Appium 1.7.0 Released )
You need xcode 9 for this.
Im also using java-client 5.0.0, not sure if this is needed though.

Be prepared for iOS acting out kinda of buggy… There is alot of elements I simply cant find in iOS 11 but can find in iOS 10.3.1

@Kishore_v

It would be helpful if you can post the error that you are facing. Your configuration seems fine.

JSONWP Proxy] Got response with status 200: “{\n “value” : {\n “state” : “success”,\n “os” : {\n “name” : “iOS”,\n “version” : “10.2”\n },\n “ios” : {\n “simulatorVersion” : “10.2”,\n “ip” : “10.5.71.18”\n },\n “build” : {\n “time” : “Sep 28 2017 18:46:22”\n }\n },\n “sessionId” : “413D61C0-0D5D-47CC-8B53-B266472696DF”,\n “status” : 0\n}”
[XCUITest] WebDriverAgent running on ip ‘10.5.71.18’
[XCUITest] WebDriverAgent successfully started after 21889ms
[BaseDriver] Event ‘wdaSessionAttempted’ logged at 1506658874237 (09:51:14 GMT+0530 (IST))
[XCUITest] Sending createSession command to WDA
[JSONWP Proxy] Proxying [POST /session] to [POST http://localhost:8100/session] with body: {“desiredCapabilities”:{“bundleId”:“xxxxxxxx”,“arguments”:[],“environment”:{},“shouldWaitForQuiescence”:true,“shouldUseTestManagerForVisibilityDetection”:false,“maxTypingFrequency”:60,“shouldUseSingletonTestManager”:true}}

After the above log it got stucked… its not able to create WDA session

Capabilities used:

“platformName”: “iOS”,
“udid”: “xxxxxxxxxxxx",
“applicationName”: “XCUITest”,
“platformVersion”: “10.2”,
“bundleID”: “xxxxxxx”,
“deviceName”: “xxxxxxxx”,
“browserName”: “xxxxxxxxx”,
“AutomationName”: “XCUITest”,
“app”: “/Users/kishore/Desktop/ipa/xxxx.ipa”,
“noReset”: false,
“showXcodeLog”: true,
“xcodeOrgId”: “xxxxx”,
“xcodeSigningId”: “iPhone Developer”,
“useNewWDA”: false,
“bootstrapPath”: “/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent”,
“agentPath”: “/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj”,
“automationName”: “XCUITest”
}

@Kishore_v
Can you post the exception that you get after webdriver agent times out?
Meanwhile maybe you can go through the following link which explains how to set up WDA on real devices:-

I can see that you are using bootstrapPath and agentPath capabilities… I have never used them. Can you tell what purpose do they serve?

Also, were you able to launch appium in iOS 10.x ?

I’m posting my capabilities for your reference:

capabilities.setCapability(“automationName”, “XCUITest”);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, “iPhone 6”);
capabilities.setCapability(MobileCapabilityType.UDID, udid);
capabilities.setCapability(MobileCapabilityType.APP, workDir + iosIpaPath);
capabilities.setCapability(“fullReset”, false);
capabilities.setCapability(“noReset”, true);
capabilities.setCapability(“xcodeConfigFile”, workDir + iosXcConfigFilePath);
capabilities.setCapability(“startIWDP”, true);
base.driver = new IOSDriver(new URL(“http://127.0.0.1:4723/wd/hub”), capabilities);

@AnuKadloor
Thanks for the help… it got resolved now… its mistake in the device i made… “Trust” was not given for the app in the device profilemanagement.

Great!
Happy Automating!! :slight_smile:

@AnuKadloor
Automation in in iOS using xcode 9 is very very slow… Is there anything needs to be done ?

Nothing that I’m aware of.
For me the execution is fine…however it is slow on iPAD (but then it has been slow even with xcode 8.x and iOS 10.x)

@AnuKadloorcan you please help on turning wifi on/Off in iOs device… especially iPhone 6+

I tried with swiping from bottom, its not working

@Kishore_v
Below piece of code will open the control centre:

int height = driver.findElementByClassName("UIAWindow").getSize().getHeight();
int width = driver.findElementByClassName("UIAWindow").getSize().getWidth();
driver.swipe(width - 100, height - 5, width - 100, 400, 100); 

After this you need to inspect for the Wi-Fi button using appium and click it. To close the control centre, click elsewhere on the screen.

PS: Tested on iPhone 6S and iPAD

1 Like