Mobile Automation Newsletter - #2

Your biweekly report of the most popular
Mobile Automation news, articles, podcasts and projects

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

WORKSPACE

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.

TESTING

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.

CI/CD

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.



Thanks for reading,

If you like this newsletter and want to support its development, there is a way.

Cheers!


Updated: