如何自动测试iOS和Android应用程序的功能?

时间:2012-08-30 17:26:03

标签: android ios ui-automation galaxy packet-capture

我必须定期测试电影租赁网站的可用性和功能。我写了一个Windows程序,它能够根据脚本自动化Web浏览器,所以这个任务基本上解决了。现在我必须自动化此Web应用程序的移动版本:原生iOS应用程序和原生Android应用程序。

这些应用程序是封闭源代码,因此无法以任何方式进行修改。我认为测试应用程序应该部署在测试设备(iPhone,iPad,Galaxy Tab,Galaxy S II)上,但我必须能够远程控制它。我的意思是,我想在测试设备和PC之间建立连接,将测试脚本从PC上传到设备,运行它们,然后将测试结果下载到PC。测试脚本应启动要测试的应用程序,操纵其GUI(填充编辑框,按钮等),并以某种方式跟踪其响应,例如通过分析GUI(某些GUI元素的存在,其标题等) ,分析屏幕截图和/或检查IP数据包。

我为Windows编写了许多类似的测试程序:我使用了ShellExecute,PostMessage,FindWindow,WinPcap库等,所以我知道这样的程序应该如何工作。但由于我从未为移动操作系统编写过应用程序,因此我甚至不知道iOS和Android是否有类似的API和库。

我想知道从哪里开始,我的意思是,可以使用哪些SDK和开发人员工具来编写这样的应用程序。我也对商业解决方案感兴趣。我真的很感激任何帮助。

6 个答案:

答案 0 :(得分:12)

我喜欢" Calabash-iOS / Calabash-Android"由LessPainful。这对我来说是最好的。

  • 自由
  • 可在iPhone和Android上使用
  • 录制和播放
  • 在原生和模拟器上测试

他们没有GUI IDE。它们是基于Ruby的解决方案,编写测试用例脚本非常容易,如下所示:

Then I swipe left
And I wait until I don't see "Please swipe left"
And take picture

也可以

Then I touch the "login" button

点按按钮,或

Then I fill in "placeholder" with "text to write"

将内容写入文本框。

该脚本可以由Calabash-iOS和Calabash-Android共享。该功能对于同时制作iPhoneApp和Android App的开发人员来说非常方便。

我认为MonkeyTalk很好但实际上不稳定,至少在我的环境中 有时MonkeyIDE崩溃,所以我们必须调试MonkeyTalk ......

我希望这会对你有所帮助。

答案 1 :(得分:4)

MonkeyTalk看起来很有希望。 Gorilla Logic的功能website

  • 免费&开源
  • Automated测试iOS,Android,HTML5和Adobe Flex应用程序
  • 跨平台录制和播放
  • 在iOS模拟器上测试本机,网络或混合应用程序 模拟器或真实设备(不需要越狱)
  • 从简单的“冒烟测试”到复杂的数据驱动 测试套件

数据包跟踪:iOSAndroidAndroid

答案 2 :(得分:4)

Selenium为移动设备和模拟器提供驱动程序。这是一个Google项目。他们有很好的文档。它有一个IDE,用于测试套件的快速原型设计,支持许多语言,如ruby,PHP,c#等,

答案 3 :(得分:3)

如果脚本是Android上的优先解决方案,您可以在安装Scripting Layer for Android后轻松导入和运行脚本。只需下载最新的apk文件,导入脚本并运行它。这在iOS上不可用,但问题的一半可能会被解决。

答案 4 :(得分:1)

我们在testmunk上写了一篇关于如何开始使用移动自动化的指南。该指南介绍了android以及iOS细节,并列出了您需要的所有工具。它基于calabash开源框架。

文章在这里:http://blog.testmunk.com/tutorial-for-automated-mobile-app-testing-calabash/ 在本文中,您还可以找到几个示例应用程序的链接。

我希望这会有所帮助。

答案 5 :(得分:-1)

我知道这是一篇很老的帖子,但2016年首选的自动化选择应该是Appium(适用于IOS / Android)。上面提到的所有工具都必须使用App构建。 Appium确实需要使用App代码进行任何构建。它非常受各种编程语言支持(PHP / JAVA / RUBY / PYTHON)的欢迎。 [链接]:appium.io和[Link]:https://github.com/appium/appium