Update README to match current state of the app & list TODOs
Project: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/repo Commit: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/commit/f93ad591 Tree: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/tree/f93ad591 Diff: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/diff/f93ad591 Branch: refs/heads/master Commit: f93ad5918998b8c59ac288706035bdc89790b71a Parents: e7190bc Author: Andrew Grieve <[email protected]> Authored: Wed Oct 23 15:15:28 2013 -0400 Committer: Andrew Grieve <[email protected]> Committed: Wed Oct 23 21:55:18 2013 -0400 ---------------------------------------------------------------------- README.md | 111 ++++++++++++++++++++++----------------------------------- 1 file changed, 42 insertions(+), 69 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/f93ad591/README.md ---------------------------------------------------------------------- diff --git a/README.md b/README.md index 4f66c5f..6d2a165 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,21 @@ cordova-app-harness =================== -An wrapper app for Cordova that can download and run Cordova apps as well as Chrome packaged apps. This enables an edit & refresh workflow. Also enables local development of apps without needing the Android / iOS SDK. +An wrapper app for Cordova that can download and run Cordova apps as well as +Chrome packaged apps. This enables an edit & refresh workflow. Also enables +local development of apps without needing the Android / iOS SDK. ## Building the App Harness - * Create a new CLI app: cordova create CordovaAppHarness com.yourcompany.appharness CordovaAppHarness -* Add whichever platforms you want (currently only iOS and Android are supported by the underlying plugins: AppBundle, zip): +* Add whichever platforms you want (currently only iOS and Android are supported by the underlying plugins: UrlRemap, zip): cordova platform add android ios -* Add the `zip` ([](https://github.com/MobileChromeApps/zip)) and `AppBundle` ([](https://github.com/MobileChromeApps/AppBundle)) plugins to the project (`cordova plugin add ...`) -* If you want to be able to scan QR codes instead of typing URLs, add the `BarcodeScanner` ([](https://github.com/filmaj/BarcodeScanner)) plugin. -* If you want to support Chrome apps, also add the `MobileChromeApps` `chrome-bootstrap` plugin, and any other Chrome APIs you want to support (`socket`, `identity`, etc.). +* Add the `zip` ([](https://github.com/MobileChromeApps/zip)) and `UrlRemap` (bundled in this repo) plugins to the project (`cordova plugin add ...`) +* If you want to be able to scan QR codes instead of typing URLs, add the `BarcodeScanner` ([](https://github.com/wildabeast/BarcodeScanner.git)) plugin. * Clone the the `cordova-app-harness` repository. * Copy the `www` directory into the project: @@ -23,66 +23,39 @@ An wrapper app for Cordova that can download and run Cordova apps as well as Chr rm -r CordovaAppHarness/www cp -a cordova-app-harness/www CordovaAppHarness/www -##Features - -* Install and test multiple applications. -* Install `.crx` files directly or from the Chrome Web Store. -* In-app context menu to switch between child apps. -* Firebug Lite and Weinre support for debugging. - -##Install an app in the harness - -There are two ways to install an app, detailed below. - -###Test by installing the app on the phone through app harness - -* Run the `packapp` script and point it to a Cordova project of the app you want to test. This will package the app into a `.cdvh` file. (Note: it is expected that you have added all relevant platforms. For example, if you want to test on the iPhone, you need to have added the `ios` platform to the project.) - - Repo/cordova-app-harness/packapp -p ./TestApp TestApp.cdvh - -* Upload the the `cdvh` file onto any hosting site. -* Run the app harness -* Click the "Add" button. -* Give the app a name and enter the URL to the `cdvh` file. - - Name: App1 - URL to file: http://www.somesite.com/myapp.cdvh - -###Test by installing a chrome extension -* Upload the the crx file onto any hosting site or the chrome apps store. -* Run the app harness -* Click add new app -* Give a name and the url to the crx file. - - Name: App1 - URL to file: http://www.somesite.com/myapp.crx - - -Alternately you can use the URL of an app in the Chrome Web Store, for example `https://chrome.google.com/webstore/detail/appName/appid`. - -### Test by using `cordova serve` - -* Go to Cordova project of the app you want to test in a terminal and run. - - cordova prepare - cordova serve <platform> - -* If you want to test the app in an actual device, find the network address of your computer by running - - ifconfig - -* If you are running this on a simulator, you can use `http://localhost` as your address, or on Android `10.0.0.22`. -* Click the "Add" button. -* Choose the option "Enter the URL to the server hosting the app" -* Give a name and the URL as follows. Let's assume the network address discovered above is `a.b.c.d`. - - Name: App1 - URL to server: http://a.b.c.d:8000/config.xml - - -##Running an app in the harness - -* Click launch on the installed app -* See if the app looks as expected -* Use a 3 finger tap to access the app menu while testing your app. This is unfortunately challenging in simulators. -* The context menu that pops up allows you to return to the main screen, restart or update the app, open a Firebug console on the device, or set up remote debugging using Weinre. +## Features +* Install and test multiple applications. +* In-App Menu to switch between installed apps. +* Firebug Lite and Weinre support for debugging. + +## Major Unimplemented Installer Features +* Editing of URLs in the app list +* Incremental updates of `cordova serve` URLs (instead of re-downloading existing files) +* Install from `.crx` files +* Install from `.cdvh` files (created via packapp script) +* Detecting when an app requires a plugin that the harness doesn't have +* Detect version mismatches of app vs harness (report as warnings) + +## Major Unimplemented Launcher Features +* Applying app settings (DisallowOverscroll, etc) +* Applying app splashscreen +* Applying app's whitelist +* Enabling only the plugins that the app has installed + +## Major Unimplemented In-App Menu Features +* Inject a JSConsole script tag +* JSHybugger support + +## Test by using `cordova serve` +* Go to Cordova project of the app you want to test in a terminal and run. + + cordova serve <platform> + + * If you are running this on a simulator, you can use `http://localhost` as your address, or on Android `10.0.0.22`. + * If `cordova serve` is on a different network than your App Harness, then use [ProxyLocal](http://proxylocal.com/) or [LocalTunnel](http://progrium.com/localtunnel/) to forward the port. + +## Running an app in the harness +* Click launch on the installed app +* See if the app looks as expected +* Use a 3 finger tap to access the app menu while testing your app. +* The context menu that pops up allows you to return to the main screen, restart or update the app, open a Firebug console on the device, or set up remote debugging using Weinre.
