Setup Test Analytics on GAE with Google Apps Account

Test Analytics is a quite good project from Google for testing analysis practice. It is open sourced at http://code.google.com/p/test-analytics/. However the documentation is quite limited and not straight forward for configuration and setup.

Just spend quite a few hours to make it run on GAE with Google Apps account. Here is the  steps:

  1. Create target GAE application in GAE (https://appengine.google.com) with your Google Apps account, select user authentication to Google Apps and set your apps domain (i.e. xxxx.com)
  2. In your Google Apps Administrator Homepage (https://www.google.com/a/xxxx.com/), add services with GAE application id set to the created one
  3. Download or git clone the test analytics project code
  4. In the pom.xml at project dir, add following lines into the maven-gae-plugin <plugin> element:

    <configuration>
    <serverId>appengine.google.com</serverId>
    <sdkDir>${appengine.sdk.root}</sdkDir>
    <appDir>${basedir}/target/test-analytics-1.0-SNAPSHOT</appDir>
    </configuration>

  5. also change gae.version to latest version in pom.xml

    <gae.version>1.7.1</gae.version>

  6. In ~/.m2/settings.xml add: (make sure <id>value is equal to <serverId> of maven-gae-plugin in pom.xml)

    <settings>
    <servers>
    <server>
    <id>appengine.google.com</id>
    <username>google apps account</username>
    <password>google apps password</password>
    </server>
    </servers>
    </settings>

  7. In the appengine-web.xml under src\main\resources, change:

    value of frontend.url to your GAE application url

    value of frontend.localdomain to your Google Apps Domain xxxx.com

    value of frontend.whitelisting to true

  8. in terminal, go to project folder, run “mvn gae:unpack” to install latest gae java sdk to maven repository
  9. run “mvn gae:deloy”
  10. now maven will download all required plugins, compile project and upload it to GAE
  11. check if it works successfully by login with your Google Apps Account, you can enable accessing accounts in GAE application’s  permission settings