19

如果我想对 PhoneGap 应用程序执行自动化测试(目前仅在 iOS 上),我有哪些选项(如果有)?

Selenium 本来是我的第一个电话,但是您可以将 Selenium 与 phonegap 应用程序一起使用吗?表明这是不可能的。看起来有一个 iPhone 驱动程序可以在 iOS 上运行 Selenium,但没有说明如何使其与 PhoneGap 交互。旧的 PhoneGap wiki似乎暗示这是可能的,但并没有真正说明如何。

我还研究过将 Jasmine 与 Jasmine-jQuery 插件一起使用,但它需要复制应用程序 HTML(以及保持两者同步的开销等)。

4

6 回答 6

12

最近,我们添加了一个关于如何使用开源测试框架Appium测试 PhoneGap/Cordova 应用程序的示例。

请参考https://github.com/appium/appium/blob/master/test/functional/webview/gappium.js

Appium 基本上将 PhoneGap/Cordova 应用程序视为混合应用程序(嵌入式 web 视图)。您将能够使用 Selenium Webdriver JSON Wire Protocol 自动化您的测试,该协议具有适用于所有流行平台(Python、Ruby、Java、C#、Obj-c 等)的特定语言绑定。甚至可以在任何给定时间将上下文从本机应用程序切换到 web 视图(例如,如果您想更改设备的方向)。

于 2013-09-06T00:43:31.717 回答
1

目前无法将 Selenium/WebDriver 与 PhoneGap/Cordova Android 一起使用。我们确实曾在某个版本的 WebDriver 上运行过此功能,但我一直无法让当前版本的 WebDriver 客户端与自定义 WebViews 一起工作,例如 Cordova/PhoneGap Android 所基于的 CordovaWebView。我们仍在试图弄清楚如何让新代码与自定义 Web 视图很好地配合使用,因为到目前为止还没有这方面的文档。

所以,遗憾的是,这个问题的答案是“还没有,但我们正在尝试”。

于 2012-08-13T18:34:41.973 回答
1

我的解决方案是QUnit。我在“js”文件夹中创建了一个“tests”文件夹,并在那里提取了所有 QUnit 文件。为了运行我的测试,我启动了 QUnit 使用的 html 页面。

于 2012-10-11T08:55:18.693 回答
1

我已经修改了当前的 iPhone webdrive 代码以使用它来测试 phonegap 之类的应用程序。我把我的代码放在这里:https ://code.google.com/p/selenium-uiwebview/ 我说phonegap LIKE application cause Phonegap只是充当桥梁的原因。我在实现中所做的是创建了我自己的更简单的桥梁。但是您可以简单地将相同的代码与 phonegap 一起使用,因为我曾帮助我的一位朋友这样做。只需使用最新版本,因为我们在使用旧 XCode 版本时遇到了一些问题。我在项目主页上给出了详细的描述。让我知道它是如何工作的。

于 2012-10-16T06:52:48.530 回答
1

您可能会从这个 phonegap 本身的持续集成设置中得到一些提示

https://github.com/filmaj/medic

这些是上一个项目执行的测试。只需将整个项目放在 phonegap 项目 www 文件夹中

https://github.com/apache/incubator-cordova-mobile-spec

于 2012-11-21T21:20:24.447 回答
0

您可以使用Telerik 的 iOS 测试工作室——我们支持 PhoneGap 应用程序!(披露:我是 Test Studio 系列产品的传播者。)App Store中有一个免费应用程序,可为您提供录制和播放风格测试,如果您愿意,我们还提供 API 驱动程序框架级测试。(该 API 目前处于测试阶段。如果您有兴趣,我很乐意为您提供访问权限。)

于 2012-08-14T12:03:49.447 回答