Posts

Showing posts from May, 2018

Test Automation on real devices versus emulator/simulator

Image
Emulators and simulators look like a cheap alternative compared to testing on real devices. And that is true if you only look at the value of the device. But it's not per see true if you look at the quality of the test results. In this blogpost I'll show a real life example where testing on an iOS simulator failed to reveil a bug that was present on a real device. Website design (desktop versus mobile) Unlike the desktop (where there is enough space to show everything at once), the mobile view is limited and therefore part of the information is shown at the time. Our website is following Google's Material design as much as possible, so the mobile site works a bit like the Gmail application on your phone. The hamburger menu is visible at first, but when you open an item (like an e-mail in the Gmail app), the menu button transforms into a back button. So when you want to get back to the menu you need to press the back button first. When you do press the back button, the

Android statistics: May 2018

Image
It's not long ago that I posted about the Android statistics of April 2018 , but new statistics have been released by Google, so it's time for an update. https://developer.android.com/about/dashboards/ Statistics, facts and trends Versions over time Click to expand versions over time image. Facts about the Android versions compared to previous month: Android 8.1, 8.0 and 7.1 are increasing in market share Android 7.0 is stabilizing and will not increase much further, if at all Android 6.0 and 5.1 are decreasing in market share with +- 1% per full month Android 5.0 and 4.4 are decreasing as well, but at a lower pace Codenames over time Click to expand codenames over time image. Facts about the Android codenames compared to previous month: Android Oreo has a steady increase in market share Android Nougat is reaching the top but is still increasing slowly Android Marshmallow and Lollipop have a steady line downwards It will take +- 1 year

Prepare your Mac for (mobile) test automation

Image
The Mac mini I use for mobile test automation got stuck at booting up after an update of OSX (thanks Apple) and there was no way to recover (I didn't have a time machine backup). Maybe I could have found a clever way to restore access to the Macintosh HD, but I decided to just go for the reinstall instead and make it a bit more detailed this time than in one of my previous blogposts. Installations OSX updates (1) First make sure you have installed all OSX (security) updates. Via the app store > updates > check for updates. Install Xcode Navigate to the App Store  Search for Xcode  Login with Apple ID  Get/Install (if asked, also install the command line tools) `xcode-select -p` will show the current path. To change it, you can do what they also described on this Appium GitHub topic: sudo xcode-select -s /Applications/Xcode.app  Quit Appium, Restart Appium and try again Install Android Studio Download the installer Open the dmg  Drag Android St

TA Basics: Device simulation with lapis_lazuli

Image
Lapis_lazuli provides a way to simulate a mobile device . But when you want to test on real or virtual desktop and especially mobile devices instead of using this simulation option, here is what you need to keep in mind. Dimensions In the devices.yml file (briefly mentioned in the  previous blog post ), you store all browser width and height dimensions you want to test on. It will look something like this: From the command line you could start a specific run with the command "cucumber DEVICE=desktop720" From IRB or env.rb you could start a browser session with "browser :firefox, device: 'desktop900'" Or you just add a default in the config.yml file "default_device: desktop1024", so you can run the cucumber command or the irb session without the need to enter a specific dimension This even works on remote browsers via selenium grid (just add the device: 'desktop1080' to the capabilities). Problem But there is one issue wit

TA Basics: Setting up a test automation framework in seconds with lapis_lazuli

Image
By reading my previous blogposts, you are now ready to start your test automation adventure for real. Ruby is installed, the browser and webdrivers are installed and in place, the lapis_lazuli gem is installed which also takes care of cucumber, selenium-webdriver, watir and some other needed gems, you know how to write scenario's in Gherkin . YES!  You are as ready as you can be. So it's time to get started and see the whole setup in action. Create and run Create a project Some blog's explain all different aspects of the files and folder structure you need for test automation with cucumber. And basically you could just put everything into one *.rb file and run it. But I like to show you a simple way to create an entire working project with one command. And from there you can start modifying it bit by bit which I'll cover later. So lets start with creating a project by going to the command prompt (Windows, which I'll use ) or terminal (OSX/Linux) and t