【问题标题】:Automated testing of PhoneGap/Cordova appsPhoneGap/Cordova 应用程序的自动化测试
【发布时间】:2014-05-31 18:37:29
【问题描述】:

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

Selenium 本来是我的第一个电话,但 Can you use Selenium with a phonegap application? 表明这是不可能的。看起来有一个 iPhone 驱动程序可以在 iOS 上运行 Selenium,但没有说明如何使其与 PhoneGap 交互。旧的 PhoneGap wiki seems to imply 说这是可能的,但并没有真正说明如何。

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

【问题讨论】:

    标签: cordova automated-tests


    【解决方案1】:

    最近,我们添加了一个示例,说明如何使用开源测试框架 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 视图(例如,如果您想更改设备的方向)。

    【讨论】:

    • 录像!我喜欢它,但是.. 请插入文档...如果这是第一次尝试,我们都需要阅读它。你运行 C#/Java 测试了吗?如果不是......这又出现了:stackoverflow.com/questions/18739352/…
    • 链接不再有效。
    • gappium example 不是很清楚。谁能提供一个基本示例,清楚地展示如何创建具有 Android 功能的新驱动程序并切换到 WEBVIEW 上下文?
    【解决方案2】:

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

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

    【讨论】:

    • 谢谢,这也适用于 iOS 吗?
    • 为什么这里的答案是正确的?这对我来说没有意义。我们在混合应用程序中进行单元测试,我们在任何平台上运行它们。在第一种情况下,任何测试都必须在他自己的本地环境中运行。更多关于这里的信息:Testing hybrid Apps
    • 因为它是 2012 年 8 月的正确的。你回复了一个两年前的帖子。
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        https://github.com/filmaj/medic

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

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

        【讨论】:

          【解决方案6】:

          您可以使用Telerik's Test Studio for iOS -- 我们支持PhoneGap 应用程序! (披露:我是 Test Studio 系列产品的宣传者。)a free app in the App Store 将为您提供记录和回放风格的测试,如果您希望进行框架级测试,我们还提供 API 驱动程序. (该 API 目前处于测试阶段。如果您有兴趣,我很乐意为您提供访问权限。)

          【讨论】:

          • 这看起来不错,但并不能真正解决整体问题。 Cordova 是跨平台的,但测试工作室不是,我认为大多数人都在寻找跨平台测试能力
          猜你喜欢
          • 2015-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多