No spam, ever. Your email address will never be shared and you can opt out at any time.

Issue 2

Hey everyone, I hope you've all had a lovely couple of weeks! I'm happy to share with you the second issue of the Mobile Automation Newsletter 🕊️

Since the last issue, there've been many great articles published on topics related to DevTestOps in Mobile, so it was a bit trickier than I initially thought to pick the most exciting ones. I hope you will find something interesting for yourself ✨

So, let's get started 🤠

Last Week’s Blog Post

Painless BDD on iOS with XCTContext

In this post, I showed how to implement a lightweight BDD without third-party dependencies in XCTest. This is such a nice trick to make automated tests on iOS look like a story without almost any extra effort.

Curated From The Community


Automating dependency updates in a Compose project

Jose Alcérreca walks us through the process of setting up an automated system to keep your Android dependencies fresh and up-to-date. If you have Kotlin and Compose on your project, you might find this article super helpful.

Android emulator custom setup for GitHub Actions

Preparing emulators/simulators on CI to run the tests might be a tricky issue as there're so many options and settings to think about. Even though there are many "go to" solutions like Docker images or public Github Actions that can do the thing for you, Amr Salem shows us the most customizable way how to make everything by ourselves without third-party dependencies.


Network integration tests on Android

I really love mock servers, I even gave a talk about it at the Heisenbug conference last year. This time, Jorge Castillo gives us an introduction to what a mock server is and how it might help to set up network integration tests on Android. I can only add that all this can work perfectly on iOS as well.

Using mirror objects in Swift for testing and debugging

There are many patterns that we can use to test our source code. Using reflection is one of them. It allows us to inspect and manipulate the properties and behaviours of an object at runtime. Namit Gupta has written such a excellent guide on how it can be done in Swift.

Generating screenshots for Flutter app with golden testing

Flutter is here for quite some time already, but there are still so many unknowns in the processes around it. On the other hand, On the other hand, it makes room for great articles like this one. Matthieu Regnauld shows us a way to generate screenshots for the respective stores through golden testing.


GitHub webhooks 🤝 Xcode Cloud

We've tended to take webhooks for granted that can be easily configured in just one line of code in the GitHub Actions workflow. But what if we need to set up some custom ones, for instance, to trigger some action on Xcode Cloud after some event on GitHub? Pol Piella offers such a handy way to listen to any events on GitHub by creating a serverless Swift function.

Ultimate CI/CD for Flutter apps

Kunj Kanani presents a really detailed guide on how to set up a complete CI/CD process for Flutter apps on GitHub Actions. The most interesting thingy here is that, even though the final destination of the app is the real users, the middle one is Google Drive. Worth a read if you are dealing with Flutter and want to learn something new.

Reducing app size on iOS

Kelvin Tan has written up some tips and tricks on how to reduce the size of an iOS app. These're quite nice advices and I thought it would be super interesting to build up some automated scripts that could verify that our app always follows these guidelines.

Reducing app size on Android

Maxi Rosson has built a series of articles on how to reduce the size of an Android app. Again, just a food for thought, it would be really-really interesting to follow these tips to create automated checks that will monitor the size of the app and trigger an alarm if something goes wrong.

Speaking Opportunities

droidcon SF 2023

Location: San Francisco, United States

Dates: June 8-9, 2023

Status: CFP is open until April 9, 2023

React Native EU 2023

Location: Wroclaw, Poland

Dates: September 7-8, 2023

Status: CFP is open until April 12, 2023


Location: Bucharest, Romania

Dates: September 19-20, 2023

Status: CFP is open until April 15, 2023

Targeting Quality 2023

Location: Cambridge, Canada

Dates: September 18-19, 2023

Status: CFP is open until April 17, 2023

QualityCon 2023

Location: Online

Dates: October 10, 2023

Status: CFP is open until April 20, 2023


Location: Budapest, Hungary

Dates: October 3-5, 2023

Status: CFP is open until April 24, 2023


Location: Leeds, United Kingdom

Dates: October 18-19, 2023

Status: CFP is open until April 30, 2023

droidcon Berlin 2023

Location: Berlin, Germany

Dates: July 5-7, 2023

Status: CFP is open until May 1, 2023

QA: Challenge Accepted 2023

Location: Sofia, Bulgaria

Dates: September 30 - October 1, 2023

Status: CFP is open until May 1, 2023

Israel Mobile Summit

Location: Online

Dates: June 29, 2023

Status: CFP is open until May 13, 2023

Testμ 2023

Location: Online

Dates: August 22-24, 2023

Status: CFP is open until May 31, 2023

Swift TO

Location: Toronto, Canada

Dates: August 10-11, 2023

Status: CFP is open until June 1, 2023

Thanks for reading!

If you like this newsletter that I craft in my spare time and freely share with the community, would be truly appreciated.

🎙️ Alexey Alter-Pesotskiy

No spam, ever. Your email address will never be shared and you can opt out at any time.