When I install gaiatest via: pip install gaiatest The package contains app specific code. app.py file to setup the tests for each app. This file gets handles to the DOM elements of each app to trigger events later on. If an app gets the DOM updated gaiatest installed via pip breaks. I don't understand the point of having the option to do 'pip install gaiatest' when it's so tightly coupled to the implementation of each app that are going to change pretty often. I would either remove all the app specific code from gaiatest or only provide the option to build gaiatest yourself: python setup.py develop This way you have always a gaiatest that it's in sync with the apps you want to test. It took us a while to figure out why the camera tests where not working anymore after updating the UI.
The gaiatest package in PyPI is used by other Python packages such as b2gperf, b2gpopulate, and eideticker. It's true that app changes often require the app objects to be updated, but we can release new versions of gaiatest whenever such changes need to be made available. If you are working on tests, I would always recommend installing gaiatest from the tree using python setup.py develop in a virtual environment.
The app-specific code is the core part of gaiatest being installable and usable package. Diego I think in your case you definitely need to install from the tree as Dave detailed in comment #1. Re-open if we're missing something here. Cheers