swalkner
swalkner

Reputation: 17359

How to automatically test Android apps on e.g. Samsung, HTC, ... Android?

Is it possible to automatically test Android apps on different vendor Android versions?

I'd like to set up unit tests in Jenkins which run on different vendor ROMs, above all on Samsung. Is there a way to download those versions?

I found some sites to add to user defined sites, e.g:

http://developer.lgmobile.com/sdk/android/repository.xml
http://developer.samsung.com/sdk-manager/repository/Samsung-SDK.xml
http://developer.sonymobile.com/edk/android/repository.xml
http://dl.htcdev.com/sdk/addon.xml

I also could download stuff from there:

Enter image description here

But how do I use those things for testing?

Upvotes: 3

Views: 741

Answers (3)

dayanruben
dayanruben

Reputation: 1061

Try with Xamarin TestCloud testing using real devices with 788 android devices and 21 OS versions at this moment.

So, you can use too Genymotion, a faster Android emulator, with a lot of devices, very useful Java API. The following articles explains what you need:

Upvotes: 1

Filipe Borges
Filipe Borges

Reputation: 2793

I am not a fan of long answers, but I failed keeping it short.

TL:DR:

  • Prefer functional testing over unit testing when testing compatibility with devices.
  • Testing on emulators does not provide you the same level of confidence than testing on real devices.
  • Probably the best option would be testing on a small set of virtual devices and then running the same tests on the real reference devices.

Long answer:

First of all, are you already using a solution to automate functional testing? Robotium is a great option for that and there are plenty of tutorials online. I cannot see the point on unit testing (instead of functional testing) on different devices, except for testing compatibility with different android api versions.

Secondly, testing on emulators does not provide you the same level of confidence than testing on real devices. Some things are not the same, for example there is no wifi manager on simulators. Given that, even if you create a virtual device with a custom vendor ROM for each device you are supporting, it does not substitute testing on the real devices.

Finally, in my opinion considering my lack of knowledge in your specific project, probably the best option would be testing on a small set of virtual devices that simulates the higher, medium and lower devices you are supporting as a first pass, and then running the same tests on real reference devices connected to your testing server as a definitive test.

And yes, I know not everyone are willing to buy a bunch of devices for testing purpose, but this is a trade of as you can only guarantee it really works as expected in a specific device when running on that device.

Hope it helps you. :)

Upvotes: 2

Dchris
Dchris

Reputation: 3067

Check testdroid cloud.

From wikipedia:

Testdroid Cloud contains real Android and iOS powered devices, some of which are available for users.Testdroid Cloud lets users run tests simultaneously on cloud-based service

Upvotes: 0

Related Questions