PhoneGapアプリの自動テストを実行したい場合(現時点ではiOSのみ)、どのようなオプションがありますか(ある場合)?
Seleniumが私の最初の呼び出しでしたが、 phonegapアプリケーションでSeleniumを使用できますか? はそれが不可能であることを示唆しています。 iOSでSeleniumを実行するためのiPhoneドライバーがあるようですが、それをPhoneGapと相互作用させる方法は示されていません。古いPhoneGapwiki 暗示しているようです それは可能ですが、実際にはその方法はわかりません。
Jasmine-jQueryプラグインでJasmineを使用することもほぼ同じように検討しましたが、アプリのHTMLを複製する必要があります(2つを同期させるためのオーバーヘッドなど)。
PhoneGap/CordovaでSelenium/WebDriverを使用するAndroid現在、これは特定のバージョンのWebDriverで機能していましたが、現在のバージョンのWebDriverを取得するのに問題がありました。 Cordova/PhoneGap AndroidのベースとなっているCordovaWebViewなどのカスタムWebViewを操作するWebDriverクライアント。新しいコードをカスタムWebビューでうまく機能させる方法を模索しています。これに関するドキュメントは今のところないので。
ですから、悲しいことに、これに対する答えは「まだですが、私たちは試みています」です。
最近、オープンソースのテストフレームワークを使用してPhoneGap/Cordovaアプリをテストする方法の例を追加しました Appium 。
参照してください https://github.com/appium/appium/blob/master/test/functional/webview/gappium.js
Appiumは基本的に、PhoneGap/Cordovaアプリをハイブリッドアプリ(埋め込みWebビュー)として扱います。すべての一般的なプラットフォーム(Python、Ruby、Java、C#、Obj-cなど)用の言語固有のバインディングを持つSelenium Webdriver JSON WireProtocolを使用してテストを自動化できます。いつでもコンテキストをネイティブアプリからWebビューに切り替えることができます(たとえば、デバイスの向きを変更したい場合)。
Phonegap自体のこの継続的インテグレーションセットアップからいくつかのヒントを得ることができます
https://github.com/filmaj/medic
これらは、前のプロジェクトによって実行されたテストです。プロジェクト全体をphonegapプロジェクトのwwwフォルダーに入れるだけです
私の解決策は QUnit です。 'js'フォルダー内に 'tests'フォルダーを作成し、そこにすべてのQUnitファイルを抽出しました。テストを実行するために、QUnitで使用されるhtmlページを起動します。
現在のiPhoneWebドライブコードを変更して、phonegapのようなアプリケーションをテストするために使用しました。私はここに私のコードを置きました: https://code.google.com/p/Selenium-uiwebview/ 私がphonegapのようなアプリケーションが原因であると言っている理由Phonegapは単なるブリッジとして機能しています。私が実装で行ったことは、私自身のより単純なブリッジを作成することです。しかし、友人の1人がそうするのを手伝ったので、phonegapで同じコードを使用することができます。古いバージョンのXCodeで問題が発生したため、最新バージョンを使用してください。プロジェクトのホームページで詳しく説明しました。それがどのように機能するか教えてください。
使用できます TelerikのiOS用Test Studio -PhoneGapアプリケーションをサポートしています! (開示:私はTest Studio製品ラインのエバンジェリストです。) App Storeの無料アプリ があり、記録と再生のスタイルのテストを提供します。また、APIドライバーも利用できます。フレームワークレベルのテストを行うことを検討している場合。 (APIは現在ベータ版です。興味があれば、APIにアクセスできるようにしたいと思います。)