Contents |
TDriver is a test automation driver enabling acceptance testing through the UI or using business logic directly. It is written in Ruby language and enables using any test framework written for Ruby.
TDriver is contains few modules:
TDriver has one agent for Qt based systems where Qt applications on any supported OS can be tested. The Qt agent is called qttasserver.
Agent is the only component that needs to be installed to the SUT. It will handle communication with the testing framework and applications. When Qt application starts it will load a testability plugin into the process. The plugin will register the application into qttaserver. Once the application is registered to qttasserver it can be controlled and queried from the testing framework.
If the application does not explicitly load the testability plugin, it can be started with -testability argument:
myapp -testability
That will cause the testability plugin to be loaded automatically.
Note! Repo locations will change as soon the official location is decided.
sudo zypper -p http://download.meego.com/live/devel:/quality/testing install qttas-server
This will install the agent. Once you reboot the first time the agent should start automatically. (TODO: This will be changed to lazy load later)
You can start the agent manually by typing:
qttasserver &
sudo zypper -p http://download.meego.com/live/devel:/quality/testing install rubygem-testability-driver-qt-sut-plugin
This will install the ruby gem for handling qt SUTs and all the dependencies like for example ruby interpreter it self.
You can test the installation using irb easily:
[matti@matti-desktop tmp]$ irb irb(main):001:0> require 'tdriver' => true irb(main):002:0>
If you get 'true' as the result then everything is installed ok and you are set. In case it complains about tdriver not found make sure you have env variable RUBYOPT defined.
export RUBYOPT=rubygems
This will tell ruby to use gem packages.
You can also install our testapps and tests and try to run those (Note! these are not availble on repos yet)
sudo zypper -p http://download.meego.com/live/devel:/quality/testing install testability-driver-testapp sudo zypper -p http://download.meego.com/live/devel:/quality/testing install testability-driver-smoke-tests
And once installed you can launch the test script:
ruby tdriver_smoke_test.rb
And the script will use app 'testapp' and test basic things like launching and closing app, tapping, dragging, flick etc.
In order to debug you can enable logs on the device. Just create a folder and give appropriate write access so that qttasserver and applications can write in there:
mkdir -p /logs/testability sudo chmod a+w /logs/testability
Now if you restart qttasserver you will see a log file qttasserver.log being created. For each application loading testability plugin there will be also a file <application_name>.log