Skip to main content


Showing posts from June, 2017

OpenSTF + Jenkins = Scalable In-House Device Sharing

I first learned about OpenSTF from a tweet by Square's Jake Wharton. It's frickin' awesome. I believe I've posted about this before but seriously go check it out if you're an Android developer or tester who has a pool of shared test devices to work with. It's FOSS and boss. Go check it out.

At the time of Jake's tweet, there was no integration between the awesome little project and my cluster of devices configured to host test automation in Jenkins. Because of the open source natures of both OpenSTF and Jenkins, and the robust plugin system on Jenkins, it seemed inevitable to me that a plugin would be written eventually to marry the two. I even speculated that I might write one if I got the chance.

Luckily for everyone that wasn't going to be necessary.

It's actually really straightforward to set up and easy to use but here are a couple of issues with work-arounds you might want to consider:

Issue -The API key from OpenSTF for the plugin's global…

Testing Your Android App's Readiness for International Audiences Without Translation

Google are serious about the global reach of Android. They place translation services front and center in the dev console for Android app publishing. They provide lint checks for localizability and internationalization issues. And they even have a single-line trick for enabling testing your app for localization:

pseudoLocalesEnabled trueBack in November of 2014, this setting was added under BuildType to tell aapt to inject pseudolocalized text into your build for the following two automatically generated fake locales: en-XA and ar-XB. This is documented in the Android Gradle plugin's DSL here. As you can see, the documentation is a little... "sparse". When I tried it out, it didn't look like it worked at first and I went so far as to open a bug because I couldn't find any directories where the new localized strings files were stored in my project and my app didn't appear to show any of the expected updated strings. It turns out I was wrong in my assumption abo…