首页 文章

在Android上自动测试Cordova / Phonegap Webview

提问于
浏览
8

我目前正在寻找自动测试Android应用程序的解决方案,原生Android应用程序以及混合Cordova / Phonegap应用程序 .

来自谷歌的UI Automator看起来很不错,但无法处理WebViews,这使我无法使用它 . 然后我找到了基于Selenium的有前途的自动化框架Appium,它也应该能够处理混合应用程序,但我无法使用WebViews,它似乎还没有完全实现,因为几个帖子也证明了 .

在尝试Appium之后,我发现了一个Selendroid的提示,这也应该适用于混合应用程序,但它似乎非常多,并且一直在崩溃我的整个计算机 .

那么,有没有人知道使用WebViews测试Android应用程序的工作解决方案?我正在使用Windows 7.非常感谢您提供任何帮助 .

3 回答

  • 1

    通常,使用基于API的方法测试混合应用程序是一项相当大的挑战 . 它可以完成,但通常你需要将UI技术(例如WebView,Native,OpenGL,...)与几个API或某种包装器(如Selendroid)集成 .

    在TestObject(我是联合创始人之一),我们创建了一个基于图像的UI测试方法,专门用于混合应用程序,应用程序之间的交互等等 . 这种黑盒方法完全基于捕获屏幕 - 我们不关心底层发生了什么 .

    随意尝试使用您的混合Cordova / Phonegap应用程序(http://testobject.com/),让我知道它与UI Automator,Selendroid,Appium相比有何效果 . 如果您遇到任何问题,请告诉我们 .

  • 6

    在第一种情况下,我们需要知道您喜欢哪种类型的测试 . 我想你想在UI上运行功能测试?这是我读完你的问题后我能想到的 .

    所以让我们通过给定的环境进行拆分:

    原生iOS

    原生Android

    本地网络,如phonegap / cordova应用程序

    native X - 适用于所有平台的开箱即用解决方案

    • 我们在这里 . 没有atm . 但是......这里有一个:

    基于appium的Gappium使用json编写测试 . 当我得到正确的线程时,它就是目前用Web / iOS测试的 . Android / Win似乎暂时没有集成:

    https://github.com/appium/io.appium.gappium.sampleapp

    关于phonegap&apache cordova功能测试的注意事项:

    可以使用纹波和硒来测试混合应用程序 . 请记住,一些本机函数/插件(混合应用程序上的本机函数......)无法测试或需要以未知方式进行模拟 . 这是当下的镜头 .

    enter image description here

    对您来说可能很有用Continous Integration Server:

    https://github.com/linslin/PHPUnit-selenium-HTMLGallery

  • 2

    我用我们自己的Cordova应用程序(sourceforge.net/p/ustadmobil/codehtml5cordova/ci/master/tree/)面对这一挑战;我需要一种方法将其与Jenkins CI整合 . 我们有Cordova特定代码(例如文件系统访问),所以只使用PhantomJS和Grunt不是一个选项 .

    基本上我所做的是在模拟器中使用测试页面作为index.html启动应用程序,运行http服务器,然后让测试页面使用AJAX将结果传回 .

    另外值得注意的是:这种方法适用于Cordova的跨平台性质:应该可以采用相同的方法运行iOS,Windows Phone模拟器等(我也使用这种测试方法来对抗我们共享大部分代码的NodeWebKit桌面版本) .

    希望这可以帮助,

    -麦克风

相关问题