Hotwire Tech Blog

Scribes from Hotwire Engineering

GOAL

If you are already using Jenkins for continuous integration you can easily adopt for iOS as well. You can use all the features of creating jobs like build, unit tests, smoke, and regression as well as creating pipelines. This blog helps you to get started with setting up iOS CI and also running tests in parallel on multiple computers.

1. BUILD JOB CONFIGURATION:

Discard Old Builds

Discard Old Builds controls how long we would like to keep the build records such as console output, artifacts, reports. This can be achieved by one of two criteria

Goal

Having a good automation framework is fundamental for a quality app. There are several tools available for mobile test automation but not any framework which ties them all together. At Hotwire we wanted to create a test automation framework for Mobile Native apps which will help us to scale & maintain tests as we add more features to the apps. We came up with following requirements for the frameworks:

  1. Test scenarios should be written in plain English so that it is easy to maintain & most importantly tests should reflect end user perspective.
  2. Tests should scale. Able to slice and dice tests based on features set & level of testing like…

    Read more...

What is Kotlin?

Kotlin is a new programming language from JetBrains, the maker of the world’s best IDEs.

  • Kotlin compiles to JVM bytecode or JavaScript.
  • Kotlin is a statically-typed programming language.
  • Kotlin is designed to interoperate with Java code and is reliant on Java code from the existing Java Class Library.
  • The syntax is lean and intuitive. It is a lot like Scala but much more comprehensible for Java developers. It does not completely destroy your OOP paradigm vision.
  • It does not enforce you to use only functional or only OOP style, which really simplifies the migration for existing Java…

    Read more...

Goal

Speed of deployment has always been an important metric used to judge how often and efficiently an app release can be. As we’ve mentioned in our previous post iOS Continuous Deployment , here at Hotwire, we spend a lot of time figuring out ways to reduce release regression time. Two pockets of opportunities are – reduce the test writing/execution time and another is to reduce test framework maintenance time. In the past, it has been a challenge to keep our functional testing framework robust enough with every iOS release considering third party tools(in our…

Read more...