Roland Oldengarm - Independent IT Contractor

Living in the coolest little capital Wellington, New Zealand!

Category: Angular

How to automatically test your non-Angular Cordova or Ionic App

Part of building any application is testing. I am focusing only on tests executed by the developer, so the first stage in any development cycle. The first option is to do this manually. While this works for most usecases, it has some major disadvantages:

  • It is time consuming.
  • You can’t run all the manual tests after each change.

When a developer does a manual test, he only confirms that the change did what it had to do. To assure it did not break anything else, in most cases he will do a quick regression test, but that won’t cover all possible regression issues.

We are building a Cordova / Ionicapp, with some complicated, time consuming use cases like logging in, logging out, adding items to a list, etc. Any change we make may cause a regression. We do have some unit tests to cover certain services and controllers, but that does not cover everything.
So, we have decided to use end-to-end automated tests to be sure that before each release, the major part of the app is still working as expected. Any bugs detected with these tests can be fixed by a developer straightaway. If it would be detected by our testers, or even worse by the client in UAT, this would make it much more expensive to fix.

I have spent some time to figure out what the best way of doing this is. I couldn’t find a lot of working documentation and examples to set up automated user testing with a Cordova / Ionic mobile application.

Continue reading

Angular Directives and Transclude: Select works differently

Together with a great team of Office UI Fabric enthusiasts I’m working on building Angular Directives for the Office UI Fabric. Check out the Github repository for more information.

As part of web applications I’ve built, we’ve been using Angular more and more in the last couple of years. Angular allows you to build custom directives, in most cases used to create new HTML elements. In the light of the Office UI Fabric, I have for example built directives for the Textfield, Toggle, and Dropdown control. With the latest one, the Dropdown control, I’ve ran into a very weird issue with transclusion.

Continue reading