Controlling Siri from XCTest using XCUISiriService

Automation, iOSDev
Apple has released new Xcode 8.3 beta 2 with new Swift 3.1 snapshot which is available to download from Apple developer account. There are lot of new things in Xcode 8.3 beta 2, you can read release note if you have Apple developer account. There is a handy class added to the XCTest framework to enable interaction with Siri with XCUI Test which is XCUISiriService. In this post how to enable interaction with Siri. Xcode 8.3 beta 2 Newly added class XCUISiriService is available in Xcode 8.3 beta 2 which is currently available for the download if you have Apple Developer Account. You can get it from the Downloads section of the developer account. Xcode 8.3 needs macOS version 10.12 and above. You can download compressed XIP file which is around 4.52 GB.  If you already have previous version…
Read More

Asynchronous iOS Testing in Swift with XCWaiter

Automation, iOSDev
Apple recently announced Swift 3.1 development snapshot  and XCode 8.3 for the developers. There are couple of handy classes added to the XCTest framework to enable Asynchronous Testing for iOS and macOS applications. In this post, we will see how we can perform asynchronous testing using XCWaiter. Swift 3.1-Dev Newly added classes are available in Xcode 8.3 which is currently available for the download if you have Apple Developer Account. You can get it from the Downloads section of the developer account. Xcode 8.3 needs macOS version 10.12 and above. You can download compressed XIP file which is around 4.52 GB.  If you already have previous version of the Xcode then remove it or you can keep it but you have to switch between Xcode DEVLOPER_DIR. Once downloaded you can extract the file to install…
Read More

What’s New in Xcode 8.3 for XCTest and Xcode Server

iOSDev
Apple has just released Xcode 8.3 beta for the developers. Xcode 8.3 release notes has handful of the features for the developers. Some of the key features of Xcode 8.3 are Autocompletion in the breakpoint navigator text fields. XCTest has couple of  new classes to support asynchronous testing. New user Interface of managing and signing certificate and provisioning profiles. Deprecated Swift 2.3 and UI Automation completely. Command line interface for Simulator [crayon-58a9851f3efa9550592493-i/] has two new options for logging Changes in [crayon-58a9851f3efb7067508894-i/] doesn't need Xcode restart. Various bug fixes for [crayon-58a9851f3efbf228749276-i/] and Swift Package Manager. There are few enhancements on Swift Package Manager like running the XCTests in parallel but they seems to have some issues. In this post, we will see what is new in the Xcode 8.3 for XCTest and other developer tools.…
Read More
Stabilizing the CI By Re-runing Flaky iOS XCUI Tests

Stabilizing the CI By Re-runing Flaky iOS XCUI Tests

Automation, DevOps, iOSDev
Apple has released Xcode UI Testing a.k.a XCUI Test framework at WWDC 2015 which enable UI testing of iOS application straight from Xcode without any third party tools like Appium, Calabash or KIF.  These tools that call themselves mobile testing frameworks but they're actually little more than wrappers to UIAutomation or Instruments.  The release of iOS 10 has broken all these open-source mobile test automation frameworks as Apple stopped supporting Instruments technology. The only options remained was to use XCTest framework from Apple or wait for those tools to build a wrapper around XCUITest.  XCTest is not a new framework but it has evolved quite well with Xcode releases. You can read more about Pros and Cons of using XCTest for iOS app testing here XCUITest + Continuous Integration Problem XCUITest framework is still new and…
Read More
Adding Homebrew Support to XCFit Framework

Adding Homebrew Support to XCFit Framework

Automation, BDD, iOSDev
Glad to announce that XCFit is available to download from Homebrew package manager. XCFit  a.k.a (XCUI, Cucumberish and Fitnesse Integrations Tests) is a full stack Xcode BDD framework for Swift iOS apps. XCFit creates automated Xcode templates which helps us to setup BDD style tests within Xcode. You can read more about XCFit on my previous post or articles published on DZone here . Homebrew Just in case, if you have not heard of Homebrew, it's package manager fro macOS. We can install almost everything using Homebrew including macOS free apps. Homebrew can be installed on any macOS using a command. [crayon-58a9851f41362843357257/] Now that, we are ready to use Homebrew. We can install package as core Homebrew or using HomeBrew caskroom like this [crayon-58a9851f4136f344846742/] e.g We can install 'Google Chrome" using following command. [crayon-58a9851f41378158388734/] Now , we will see how to…
Read More
XCFit 2.0 Released : Full Stack BDD in Xcode + Page Object + Swift Package Manager

XCFit 2.0 Released : Full Stack BDD in Xcode + Page Object + Swift Package Manager

Automation, iOSDev
XCFit 2.0 Glad to announce new version of XCFit with brand new features. You can find release notes on Github here. If you are new to XCFit then XCFit a.k.a (XCUI, Cucumberish and Fitnesse Integrations Tests) is a full stack Xcode BDD framework for Swift iOS and macOS apps. XCFit allows us to write API level, UI and Acceptance Tests with Swift in human readable language using tools like Cucumber and Fitnesse in Xcode. We can still use Apple's brand new UI Testing framework (XCUI) under the hood of Cucumberish. XCFit is fully automated solution for Cucumberish and Fitnesse. You can use 80(Fitnesse):20(Cucumberish) formula to automate Acceptance and UI Testing for better coverage and faster feedback. XCFit is available on RubyGem,  CocoaPods and Swift Package Manager. XCFit 2.0 has just released ! XCFit 2.0 New Features Improved Xcode Templates with support of Page…
Read More

Integrating Fitnesse iOS Acceptance Test with XCTest using Xcode8

Automation, iOSDev
Fitnesse for iOS Recently Fitnesse has entered in the world of iOS development. An OCSlimProject has enabled an ATDD and BDD practices in iOS development world. This project enabled us writing and blazing fast acceptance test with Fitnesse for iOS. Thanks to Paul Stringer and other contributors.  You can read more about what are the problems that Fitnesse can solve in article 'Acceptance Testing for iOS' by Paul Stringer. As of now Fitnesse acceptance for iOS running in the separate process and reports are generated by different mechanism which wasn't feel like Fitnesse is actually part of the development and CI workflow. The good news is latest release of the OCSlim project has integrated Fitnesse test reports along with XCTest framework which means we can execute Fitnesse tests along with Unit tests…
Read More
XCFit : Full Stack BDD for iOS/macOS Apps with Swift using XCUI, Cucumberish and Fitnesse

XCFit : Full Stack BDD for iOS/macOS Apps with Swift using XCUI, Cucumberish and Fitnesse

Automation, BDD, iOSDev
    XCFit Today, I am glad to announce "XCFit Framework" which can be used to enable BDD for iOS and macOS apps using Apple's brand new programming language Swift and UI Testing framework. This project is inspired by Cucumberish and OCSlim project. Let's see what are the features and usage of XCFit in this post. You can find official web page of XCFit on shashikant86.github.io XCFit - 'Swift' Your iOS/macOS apps towards BDD XCFit a.k.a (XCUI, Cucumberish and Fitnesse Integrations Tests) is a full stack Xcode BDD framework for Swift iOS and macOS apps. XCFit allows us to write API, UI and Acceptance Tests with Swift in human readable language using tools like Cucumber and Fitnesse in Xcode. We can still use Apple's brand new UI Testing framework (XCUI) under the hood of Cucumberish. XCFit is fully automated solution for…
Read More

WWDC 2016 : Continuous Integration with Xcode Server and XCTest updates

iOSDev
WWDC 2016 The Apple Worldwide Developers Conference ( WWDC 2016 ) brings us lots of improvements in softwares although there are no hardware release this time. There are many software release including iOS10, macOS Seirra, Siri on Mac, Xcode 8 etc etc there is brief  summary of the what has been announced at WWDC 2016 is here on The Next Web Blog. I would recommend watching the session "Platform State of the Union" which is kind of keynote for the Developers where you can find lots of the announcement about development tools including Xcode 8 Apple File System Swift 3 : Open-Source Status Swift Playground app Code Signing Improvements In this post we will cover whats new in terms of the Continuous Integration and Testing. Xcode Server and XCTest Apple…
Read More