Heliacorreia (Talk | contribs) (Adding link to "Tutorial for test creation" page) |
Heliacorreia (Talk | contribs) (Removing redundant information ("driver" and "sut_qt" are installed following steps of "Other platforms" section)) |
||
| (4 intermediate revisions not shown) | |||
| Line 2: | Line 2: | ||
This page describes the installation of the Testability Driver (TDriver) on your host machine. | This page describes the installation of the Testability Driver (TDriver) on your host machine. | ||
| + | |||
== Installing required packages from repositories == | == Installing required packages from repositories == | ||
| Line 20: | Line 21: | ||
Start a new shell and you should have all the required environmental parameters set. | Start a new shell and you should have all the required environmental parameters set. | ||
| + | |||
== Other platforms == | == Other platforms == | ||
| Line 49: | Line 51: | ||
sudo yum install libxtst-devel libqtwebkit-devel qt4-qmake gcc-c++ libqt4-devel | sudo yum install libxtst-devel libqtwebkit-devel qt4-qmake gcc-c++ libqt4-devel | ||
</pre> | </pre> | ||
| + | |||
| + | Getting Qt source-code: | ||
| + | <pre> | ||
| + | git clone git://gitorious.org/qt/qt.git | ||
| + | </pre> | ||
| + | |||
| + | Then the installation procedure depends on our platform. Full detail is available at the following link <nowiki>http://doc.qt.nokia.com/<Qt_version>/installation.html</nowiki>, in which we replace <Qt_version> by our git cloned Qt version (i.e. 4.7). | ||
=== Compilation === | === Compilation === | ||
| Line 54: | Line 63: | ||
Compile and install qttas-server: | Compile and install qttas-server: | ||
<pre> | <pre> | ||
| - | git clone http://git.gitorious.org/tdriver/agent_qt.git # Note that this our development master. See the list of available tags if you want to checkout a released version. | + | git clone http://git.gitorious.org/tdriver/agent_qt.git # Note that this is our development master. See the list of available tags if you want to checkout a released version. |
cd agent_qt | cd agent_qt | ||
qmake -r CONFIG+=no_mobility | qmake -r CONFIG+=no_mobility | ||
| Line 69: | Line 78: | ||
sudo make install | sudo make install | ||
</pre> | </pre> | ||
| + | |||
== Testing the installation == | == Testing the installation == | ||
| Line 74: | Line 84: | ||
Everything should now be installed. We need an application to test it with, so let's get one. Let's use a classic calculator application that is used in TDriver tests. | Everything should now be installed. We need an application to test it with, so let's get one. Let's use a classic calculator application that is used in TDriver tests. | ||
| - | Let's get it from git and compile it | + | Let's get it from git and compile it. |
| - | Build | + | Build requirements for Ubuntu: |
<pre> | <pre> | ||
| - | + | sudo apt-get install git-core qt4-qmake qt4-dev-tools build-essential | |
</pre> | </pre> | ||
| - | Fedora | + | |
| + | Fedora: | ||
<pre> | <pre> | ||
sudo yum install git qt4-qmake gcc-c++ | sudo yum install git qt4-qmake gcc-c++ | ||
</pre> | </pre> | ||
| - | Compile and install | + | Compile and install: |
<pre> | <pre> | ||
git clone http://git.gitorious.org/tdriver/tests.git | git clone http://git.gitorious.org/tdriver/tests.git | ||
| Line 93: | Line 104: | ||
</pre> | </pre> | ||
| - | Now we are ready to start the qttas-server and the calculator | + | Now we are ready to start the qttas-server and the calculator: |
<pre> | <pre> | ||
qttasserver & | qttasserver & | ||
| Line 99: | Line 110: | ||
</pre> | </pre> | ||
| - | You should see a simple calculator application. Next, let's start the visualizer | + | You should see a simple calculator application. Next, let's start the visualizer: |
| - | + | ||
<pre> | <pre> | ||
tdriver_visualizer & # If you compiled visualizer from source, it will be under /opt/tdriver_visualizer | tdriver_visualizer & # If you compiled visualizer from source, it will be under /opt/tdriver_visualizer | ||
| Line 110: | Line 120: | ||
Right click on an element, for example "1" button, and select "send tap to SUT". The calculator should receive a click to the "1" button. If so, congratulations you have a working TDriver environment! | Right click on an element, for example "1" button, and select "send tap to SUT". The calculator should receive a click to the "1" button. If so, congratulations you have a working TDriver environment! | ||
| + | |||
== Running Automated Tests == | == Running Automated Tests == | ||
| Line 152: | Line 163: | ||
Everything should be up and running now. You are ready for test development! | Everything should be up and running now. You are ready for test development! | ||
| - | |||
| - | |||
=== Testing Your Application === | === Testing Your Application === | ||
| Line 176: | Line 185: | ||
If you refresh the visualizer, you should see the application content that is running on the N900. Note - If you edit the configuration file, the visualizer must be restarted. | If you refresh the visualizer, you should see the application content that is running on the N900. Note - If you edit the configuration file, the visualizer must be restarted. | ||
| + | |||
== What's Next == | == What's Next == | ||
| Line 183: | Line 193: | ||
* Making your application load the testability plug-in | * Making your application load the testability plug-in | ||
* Making your application testable | * Making your application testable | ||
| - | |||
=== Links === | === Links === | ||
| + | * [http://doc.qt.nokia.com/ Qt Online Reference Documentation] | ||
* [https://projects.forum.nokia.com/Testabilitydriver/wiki/ TDriver wiki] | * [https://projects.forum.nokia.com/Testabilitydriver/wiki/ TDriver wiki] | ||
* [https://projects.forum.nokia.com/dav/Testabilitydriver/doc/api/qt_linux/ API Documentation] | * [https://projects.forum.nokia.com/dav/Testabilitydriver/doc/api/qt_linux/ API Documentation] | ||
* [http://gitorious.org/tdriver/ Gitorious project] | * [http://gitorious.org/tdriver/ Gitorious project] | ||
| - | * [http://wiki.meego.com/Quality/QA-tools/TDriver/Getting_Started/Tutorial_for_test_creation Tutorial | + | * [http://wiki.meego.com/Quality/QA-tools/TDriver/Getting_Started/Tutorial_for_test_creation Tutorial for test creation] |
Contents |
This page describes the installation of the Testability Driver (TDriver) on your host machine.
We provide repositories for Fedora 13 and Ubuntu 10.04/10.10, and more will be added as soon as it's possible from OBS. For other platforms and versions you will need to compile the Qt components from source.
First wee need to enable the Testing:Tools repository. See the How to set up repositories for QA-tools guide.
For Ubuntu:
sudo apt-get install qttas testability-driver-host visualizer # This can take several minutes
Fedora:
yum install qttas testability-driver-host testability-driver-visualizer
Start a new shell and you should have all the required environmental parameters set.
TDriver components can be installed on most Qt and Ruby supported platforms. The ruby components can be found from rubygems.org. You will need the following packages, or their equivalents installed:
rubygems ruby1.8-dev libxslt-dev libxml2-dev
Then install the gems:
sudo gem install testability-driver testability-driver-qt-sut-plugin
Build requirements for ubuntu 10.04:
sudo apt-get install libqt4-dev x11proto-xext-dev libxtst-dev
Build requirements for Ubuntu 10.10:
sudo apt-get install libqt4-dev x11proto-xext-dev libxtst-dev libqtwebkit-dev
Build requirements for Fedora:
sudo yum install libxtst-devel libqtwebkit-devel qt4-qmake gcc-c++ libqt4-devel
Getting Qt source-code:
git clone git://gitorious.org/qt/qt.git
Then the installation procedure depends on our platform. Full detail is available at the following link http://doc.qt.nokia.com/<Qt_version>/installation.html, in which we replace <Qt_version> by our git cloned Qt version (i.e. 4.7).
Compile and install qttas-server:
git clone http://git.gitorious.org/tdriver/agent_qt.git # Note that this is our development master. See the list of available tags if you want to checkout a released version. cd agent_qt qmake -r CONFIG+=no_mobility make sudo make install
Visualizer:
git clone http://git.gitorious.org/tdriver/visualizer.git cd visualizer qmake -r make sudo make install
Everything should now be installed. We need an application to test it with, so let's get one. Let's use a classic calculator application that is used in TDriver tests.
Let's get it from git and compile it. Build requirements for Ubuntu:
sudo apt-get install git-core qt4-qmake qt4-dev-tools build-essential
Fedora:
sudo yum install git qt4-qmake gcc-c++
Compile and install:
git clone http://git.gitorious.org/tdriver/tests.git cd tests/calculator qmake # in Fedora qmake command is qmake-qt4 make sudo make install
Now we are ready to start the qttas-server and the calculator:
qttasserver & calculator -testability &
You should see a simple calculator application. Next, let's start the visualizer:
tdriver_visualizer & # If you compiled visualizer from source, it will be under /opt/tdriver_visualizer
In the visualizer, select File->Refresh. You should see a picture of the calculator application. If you hover your mouse above the picture, the visualizer will highlight the object that is currently under the cursor.
Right click on an element, for example "1" button, and select "send tap to SUT". The calculator should receive a click to the "1" button. If so, congratulations you have a working TDriver environment!
We are ready to run an automated test. We will need [Cucumber], so let's install it:
sudo gem install cucumber # This will take a few minutes and require gherkin-2.3.2
We still need to edit the tdriver parameters. Add the following line to /etc/tdriver/tdriver_parameters.xml inside <parameters> tag:
<parameter name="default_sut" value="sut_qt"/>
We can use the tests repository we got the calculator from as an example. From there, we will run one test:
# cd <wherever you cloned the tdriver/tests repository> cd test/ cucumber features/qt_widget_tap.feature:8 # Run one scenario from one feature
Something like this should be displayed on the console:
~/tests/test$ cucumber features/qt_widget_tap.feature:8
@qt_linux @qt_windows @qt_symbian @qt_meego
Feature: MobyBehaviour::QT::Widget#tap
As a test script writer
I want to use tap method to simulate user tapping or clicking an object,
so that I can test the MobyBehaviour::QT::Widget behaviour
Scenario: Tap a QWidget button # features/qt_widget_tap.feature:8
Given I launch application "calculator" # features/step_definitions/feature_common.rb:65
When I execute "@app.Button(:name => 'oneButton').tap" # features/step_definitions/feature_common.rb:165
Then The calculator display says "1" # features/step_definitions/feature_common.rb:235
1 scenario (1 passed)
3 steps (3 passed)
0m1.598s
~/tests/test$
Everything should be up and running now. You are ready for test development!
If your application is a Meegotouch application, the qttas plugin will be loaded automatically. If it is a standard Qt application, pass "-testability" as a command line parameter.
Note: If you used the "testability-driver-host" package to install TDriver, the ip address is set automatically to the "sut_qt_maemo" device.
You need a working network connection to the device. For the N900, see the N900 Networkig Guide. TDriver works over TCP/IP, so any device in the network can be tested.
As an example, connection to the N900 we add the N900 ip address into /etc/tdriver/tdriver_parameters.xml:
<sut id="sut_qt" template="qt"> <parameter name="qttas_server_ip" value="192.168.2.15" /> <!-- other parameters.... --> </sut>
On the device, make sure the package "qttas-server" is installed and "qttasserver" is running as user. If you just installed the package, you will need to restart the applications to make them load the qttas plugin. On the N900, the qttasserver should start automatically and all supported applications should be available.
If you refresh the visualizer, you should see the application content that is running on the N900. Note - If you edit the configuration file, the visualizer must be restarted.