如何自动测试Android应用程序,例如三星,HTC,……Android?

是否可以在不同的供应商Android版本上自动测试Android应用?

我想在Jenkins中设置单元测试,该测试可以在不同的供应商ROM上运行,尤其是在Samsung上.有没有办法下载这些版本?

我发现一些要添加到用户定义的网站的网站,例如:

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

我也可以从那里下载东西:

但是,如何使用这些东西进行测试?

解决方法:

我不喜欢冗长的答案,但我未能保持简短.

TL:DR:

>在测试与设备的兼容性时,功能测试优先于单元测试.
>在模拟器上进行测试无法提供与在真实设备上进行测试相同的置信度.
>最好的选择可能是在一小组虚拟设备上进行测试,然后在实际参考设备上运行相同的测试.

长答案:

首先,您是否已经在使用一种解决方案来自动化功能测试? Robotium是一个很好的选择,在线有很多tutorials.除了测试与不同android api版本的兼容性之外,我看不到在不同设备上进行单元测试(而非功能测试)的要点.

其次,与在真实设备上进行测试相比,在模拟器上进行测试无法提供相同的置信度.有些事情不一样,例如模拟器上没有wifi管理器.鉴于此,即使您为支持的每个设备创建具有自定义供应商ROM的虚拟设备,它也不能替代在真实设备上进行测试.

最后,我认为考虑到您对特定项目的知识不足,最好的选择可能是在一小套虚拟设备上进行测试,这些虚拟设备首先模拟要支持的更高,中和更低的设备,然后运行作为确定的测试,在连接到测试服务器的真实参考设备上进行相同的测试.

是的,我知道并非每个人都愿意购买一堆用于测试的设备,但这是一种交易,因为您只能保证在特定设备上运行时,它确实可以在特定设备上按预期工作.

希望对您有帮助.

上一篇:Spark 集成 Hive


下一篇:golang测试