I have started this blog after doing UI Automation Testing for a while.
If you are interested in topics like
- Cross-platform UI Automation for Mobile (Calabash, Cucumber)
- Build automation for iOS and Android
- Tools and scripts
You might find something useful in this blog.
TeamCity Kotlin REST Client
Whichever CI server you use for development, being able to access it programmatically via REST API is an essential capability for implementing all kinds of automation. In this article you will learn how to utilize TeamCity REST API using TeamCity Kotlin REST Client.
Xcode Build Settings in Depth
Getting to the rock bottom of Xcode build settings.
Fastlane for Enterprise
Learn how to use Fastlane in enterprise environment.
Xcode Build Phases and Environment
How to teach Xcode to respect the Environment.
Swift Refactoring - Summary
A summary for the series of articles about implementing Swift Local Refactoring action.
Swift Refactoring - Debugging
Debugging implementation for Swift Local Refactoring action.
Swift Refactoring - Implementation - Part 2
Implementing Swift Local Refactoring action.
Part 2 of 2.
Swift Refactoring - Implementation - Part 1
Implementing Swift Local Refactoring action.
Part 1 of 2.
Swift Refactoring - Tests
Using TDD approach to implement Swift Local Refactoring action.
Swift Refactoring - Setup
Getting Swift sources and setting up build environment to implement Swift Local Refactoring action.
Swift Refactoring - Intro
Introduction to a series of articles detailing how to implement a new type of Swift Local Refactoring.
Async Swift Scripting
A trick to use asynchronous callbacks in Swift scripts.
Code Coverage for iOS (Xcode 7)
Create code coverage reports for iOS unit tests using new Xcode 7 code coverage feature.
JIRA ID in Git Commit Messages
A quick tip on how to automatically add JIRA ID in each git commit message.
App Store Version Territory
Homegrown research on iOS app short and bundle version strings and how to specify them properly in respect to iTunes Connect and TestFlight.
Jenkins Job DSL - Configure Block
A hands-on experience with Configure Blocks in Jenkins Job DSL.
Fix Objective-C Imports
A way to change Objective-C
#import <Framework/Framework.h>to modern
Fix Objective-C File Header Comment
A simple way to fix file headers in your Objective-C (an not only) files.
Jenkins Job DSL - Properties
Learn how to work with global properties in DSL Groovy script, and how to handle missing properties.
Provisioning Profiles, Sigh...
In this article you will find out why iOS provisioning profiles are a nightmare and if there is a way to automate provisioning profiles management.
HackerRank in Swift - Makefiles
A basic makefile to help you with testing your HackerRank solutions locally.
Password Generator in Swift
Simple password generator in Swift.
What's your destination?
Few hands on tricks about
Install Java on Mac OS X
A short how-to for installing and configuring Java Development Kit on Mac OS X.
CocoaPods for Enterprise
A practical example of using CocoaPods for enterprise projects.
OCLint is a fantastic static code analysis tool for improving quality and reducing defects by inspecting C, C++ and Objective-C code.
Makefiles for Mobile CI
A look at Xcode projects from another angle, trying to build things on another level.
Code Coverage for iOS (gcov)
Create code coverage reports for iOS unit tests using
Note that this approach may not work with Xcode 7 and future Xcode updates. For information on how to generate test coverage reports using new Profdata format, check this article).
Clang Static Analyzer
A brief post about Clang Static Analyzer and scan-build tool.
Bitbucket Branches and Jenkins Job DSL
A simple example of applying Jenkins Job DSL Plugin in real life.
Xcode Derived Data
What is Xcode Derived Data and why is it important?
Daemon vs Agent
Comparison of Mac OS X Launch Daemon and Launch Agent in regards to Mobile CI.
Jenkins Remote Node on Mac OS X
A guide for setting up a remote build node for Jenkins CI server.
Jenkins CI Server on Mac OS X
A guide for setting up a Jenkins CI server on Mac OS X machine.
Bamboo Remote Agent on Mac OS X
A short guide for installing and configuring Bamboo Remote Agent on Mac OS X.
Bamboo Group Agent
Bamboo Group Agent plugin for Mac agents.
Bamboo CI Server on Mac OS X
This article covers the details of installing a Bamboo CI Server on Mac OS X.
Bamboo vs Jenkins
A biased and subjective (and by now a bit outdated) comparison of Bamboo and Jenkins as CI servers for mobile development, based on practical experience with both.
Yet another clone of Flappy Bird. Once again written in Swift. Accompanied by Flappy Boo written in Objective-C.
Shark 2 for iOS/OS X
SHARK provides libraries for the design of adaptive systems, including methods for linear and nonlinear optimization (e.g., evolutionary and gradient-based algorithms), kernel-based algorithms and neural networks, and other machine learning techniques.
This script is created to build framework for Shark version 2.3.4.
Install Atlassian CLI with RPM
Another follow up to introduction to Atlassian CLI.
This post describes how to create an RPM package for Atlassian CLI to install it on RMP-based Linux distributions.
Install Atlassian CLI with Homebrew
This is a follow up to introduction to Atlassian CLI.
In this post you will learn how to create custom Homebrew formula, install Atlassian CLI via Homebrew tap and customize tools for you company environment.
Share Xcode Schemes
So you are facing one of these Xcode errors where it tells you that there’s no such scheme? This post could help to explain why Xcode does it and how to solve this problem.
Build Android in the Cloud
In this example, you are given a task to build Android app on a 64-bit AWS Linux build agent running in Amazon Cloud (AWS).
Atlassian CLI Client
If you happen to use Atlassian products like JIRA, Bamboo, Stash, Confluence, etc., you may be surprised to know that all these products are backed by a handy command line interface, namely Atlassian Command Line Interface.
- Email: email@example.com
- GitHub: mgrebenets
- Bitbucket: i4niac
- LinkedIn: Maksym Grebenets