iOS 11 updates to know…

The impacts of iOS 11 on iOS app development and testing

Happy Summer! Sadly there are about 6 weeks left till autumn 🙁

Last month we heard about iOS 11 and boy there were some good announcements! By now most of you know that when WWDC rolls around it’s a scramble to make sure your team is prepared for the changes in iOS app development and testing. Today I wanted to highlight some of the big changes that are coming and how they will probably influence your iOS app development and testing. 

iOS Devices:

With iOS 11, Apple has dropped support and upgrade for some iOS devices. This means that some old but still popular devices will not get iOS 11. (Download the latest list of Top Must-Test Devices for Global Markets)

Below is a list of supported iOS Devices for iOS 11 as of the Public Beta:

iPhone 7

iPhone 7 Plus

 

iPhone 6S

iPhone 6S Plus

 

iPhone 6

iPhone 6 Plus

 

iPhone SE

iPhone 5S

 

2017 iPad (9.7-inch)

2017 iPad Pro (10.5-inch)

2017 iPad Pro (12.9-inch)

iPad Pro (9.7-inch)

iPad Pro (12.9-inch)

 

iPad mini 2

iPad mini 3

iPad mini 4

 iPad Air

iPad Air 2

 

iPod touch 6th generation

  
  • 2017 models have hardware changes

As you can see from the above list, 3 new models have been introduced that contain hardware changes. The biggest change to note is that these devices have adopted the camera from the iPhone 7.

Dropped from this list are the iPhone 5c and iPhone 5. Anything else which is older will also not get iOS 11.

iOS Test Automation

When it comes to iOS test automation on these new pieces of hardware and with any beta software it can be tricky to be certain that the software is bug free. It’s known that when a particular beta gets GM, that means most of the significant changes are behind the release. As we approach Fall and vacations are in swing, if you are a QA engineer or developer, now’s good time to start poking at the changes and get familiar with what the surrounding tools are doing to support iOS 11.

Appium this time around has done a very good job staying on top of iOS 11. While some issues have been worked out, there are still issues around parsing and scrolling. There weren’t too many changes to the API for XCUITest where it was a catastrophic failure like iOS 10 with Appium. That brings me to another point that we see a lot of companies are providing their own workarounds.

While this is great, you need to be careful if that company stops supporting the code they are developing for you and your team to continue its mission. The same is true for any piece of software, but these days I would really think twice about putting all your eggs in a basket with one company providing hacks with beta software. Business needs changes and so does technology, and by wrapping your code around code that isn’t open source or is the creator of some significant I would stay away from as much as possible.

Here at Bitbar we don’t add any special frameworks that are only proprietary to us. This means that what you can achieve in our cloud environment you can also replicate locally, without any issues on scalability 🙂

iOS Frameworks

OK, back to iOS 11!

So if you’re wondering how the state of things in the automation world is shaping up for iOS…

For Appium it seems to be a very good indicator that if Facebook’s Web Driver Agent is working, Appium will also be working. However, there might be some items in Appium that will be broken due to changes in XCUITest these could be depreciated APIs or classes that were once available to Appium and other third-party automation frameworks.  To keep on top of the status, you can track this issue: https://github.com/facebook/WebDriverAgent/issues/639 (Need a refresh of using Appium for mobile app testing? download our Appium ebook here)

For Calabash the same here is true. And believe it or not, Calabash might be in a worse state than Appium. Link: https://github.com/calabash/calabash-ios/issues/1309 Despite the changes Xamarin announced, they are coming for it after iOS 11. But for now, make sure you have everything set for testing iOS 10 with Calabash

Now does this mean it’s completely behind? No. In fact, most people have been able to do something with it so help is coming! Apple just released beta 4 of Xcode 9 a few weeks ago.

So far one of the cool new additions (in my opinion) to the API in XCUITest is the XTCAttachements. This new feature now allows you to store screenshots and attachments in the test run reports to be reviewed later.

The next cool feature that Apple finally did is to start giving developers and automation engineers more tools to get things done quicker. This new capability is headless testing, which will run automation using core-simulator in headless mode. This means you won’t see simulator GUI’s spun up on the machine running the tests. This is a huge win for unit testing and hopefully less resource intensive on your machines. I would caution to still keep in mind that using real iOS devices is still the best choice when you are getting ready to release software.

The last thing I will note in this article that everyone can be excited about is that Apple introduced some changes in how it executes tests as well as matches for queries. The first match API is good to use if you know there is only one item in the view that the automation should look for. So before you could use predicates and others to query, now you can simply use:

app.navigationsBars.buttons["Done"].firstMatch

Stay tuned for more information regarding these improvements and when you can expect to take full advantage of these in Bitbar!


Calabash 101: Basics, Getting Started and Advanced Tips

Go through the basics of Calabash, how to create proper Calabash tests and how to make the most of them.

Download

  • Mighty McFace

    This is a good write-up – thanks! Could you throw some light on what you said re: Calabash? ( Despite the changes Xamarin announced, they are coming for it after iOS 11 )

    • Shawn Edge

      @mightymcface:disqus , Yes Calabash still remains questionable right now. I think the community has decided that they will continue to support it after iOS 11. The only significant change that is coming is Xamarin Test Cloud will not be supporting it after iOS 11 regardless if the community makes changes to it. So if you are a Calabash user and need a test cloud, Bitbar will be one of the only few test clouds to allow you to use the framework. The risk here to be careful for is if the community becomes slow to update the framework. It’s not known yet what the original founders and main maintainers of Calabash (Who are Microsoft employees) will do. We will post updates here to our blog as we learn more information. If you want to have a more indepth conversation please feel free to reach out to me directly. shawn.edge@bitbar.com

  • Anuja Kadloor

    Hey nice post!
    Is Appium able to work on hybrid apps for iOS 11 Beta?
    I tried but I couldn’t get it to work with iOS 11; reason being ios-webkit-debug-proxy was unable to perform remote debugging. So probably it is unable to locate elements.

    Ref: https://github.com/google/ios-webkit-debug-proxy/issues/208

    Any inputs?

    • Shawn Edge

      Hi Anuja, iOS 11 beta is not fully supported for Appium nor Calabash yet… so it will be a bit before things are ready. If you follow this issue for Appium, as long as this issue is still open there are issues with iOS 11… https://github.com/facebook/WebDriverAgent/issues/639

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close