我如何自动testingiOS和Android应用程序的function?

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

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

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

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

Solutions Collecting From Web of "我如何自动testingiOS和Android应用程序的function?"

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

  • 自由
  • 可在iPhone和Android上使用
  • 录制和播放
  • 在本机和模拟器上testing

他们没有一个GUI IDE。 他们是基于Ruby的解决scheme,编写testing用例脚本非常简单,就像这样:

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

也可以

 Then I touch the "login" button 

点击一个button,或

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

写一些东西到一个文本框。

这个脚本可以被Calabash-iOS和Calabash-Android共享。 这个function对于开发iPhoneApp和Android App的开发者来说非常方便。

我认为MonkeyTalk很好,但实际上至less在我的环境下是不稳定的。
有时MonkeyIDE崩溃,所以我们必须做MonkeyTalk的debugging…

我希望这可以帮助你。

MonkeyTalk看起来很有希望。 Gorilla Logic 网站的function :

  • 免费开源
  • 自动testingiOS,Android,HTML5和Adobe Flex应用程序
  • 跨平台的录制和播放
  • 在iOS模拟器,Android模拟器或真实设备上testing原生,networking或混合应用程序(不需要越狱)
  • 从简单的“烟雾testing”到复杂的数据驱动的testing套件

数据包跟踪: iOS , Android , Android

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

如果脚本是您在android上的优先解决scheme,则可以在安装Android脚本层后轻松导入和运行脚本。 只需下载最新的apk文件,导入脚本并运行它。 这在iOS上不可用,但是一半的问题可以通过这个解决。

我们在testmunk写了一本关于如何开始使用移动自动化的指南。 该指南解决了Android以及iOS的具体问题,并列出了您需要的所有工具。 它基于葫芦开源框架。

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

我希望这有帮助。

我知道这是一个旧的职位,但任何阅读2016年自动化的首选应该是Appium(在IOS / Android上工作)。 上面提到的所有工具都必须用App来构build。 Appium确实需要使用应用程序代码进行构build。 它非常受各种编程语言支持(PHP / JAVA / RUBY / PYTHON)的欢迎。 [链接]:appium.io和[链接]: https : //github.com/appium/appium