DesktopTestingLibrary
|
Size: 1453
Comment:
|
Size: 3830
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| <<Include(Testing/Header)>> ||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents>>|| |
|
| Line 5: | Line 8: |
| == Prerequisites == ldtp and python-ldtp packages are needed to run the tests based on the testing library. Both packages are available in universe. |
|
| Line 7: | Line 14: |
| The latest version of the testing library is available at Launchpad bazaar repository. See https://code.launchpad.net/~apulido/ubuntu-desktop-testing/testing-library for more information. | There are PPA packages for Intrepid. To install the library: |
| Line 9: | Line 16: |
| To install the library open a terminal and from the testing-library folder: | 1. Add the following lines to your /etc/apt/source.lists: |
| Line 11: | Line 18: |
| $ sudo python setup.py install | {{{ deb http://ppa.launchpad.net/apulido/ubuntu intrepid main deb-src http://ppa.launchpad.net/apulido/ubuntu intrepid main }}} 1.#2 $ sudo apt-get update 1. $ sudo apt-get install desktop-testing-library |
| Line 15: | Line 28: |
| Once installed we are going to create our first script to test Ubuntu. Our script will open the Gedit and will write the string "Hello World!" in the main gedit window. | Once installed we are going to create our first script to test Ubuntu. Our script will open the Gedit and will write the string "Hello World!" in the main gedit window. We will comment below the meaning of each of the lines. |
| Line 18: | Line 31: |
| # Main LDTP python wrappers | # Main LDTP python wrappers [0] |
| Line 23: | Line 36: |
| # Necessary if we want to track performance | # Necessary if we want to track performance [1] |
| Line 26: | Line 39: |
| # The main library in the testing-library for Ubuntu [1] | # The main library in the testing-library for Ubuntu [2] |
| Line 31: | Line 44: |
| # Gedit is the main class for GEdit tests. | # Gedit is the main class for GEdit tests. [3] |
| Line 37: | Line 50: |
| # Open Gedit application and wait for existance | # Open Gedit application and wait for existance [4] |
| Line 40: | Line 53: |
| # Write the selected text | # Write the selected text [5] |
| Line 46: | Line 59: |
| # Log time performance | # Log time performance [6] |
| Line 54: | Line 67: |
| * [0]: LDTP is written mainly in C, but it has two wrappers in python, ldtp (http://ldtp.freedesktop.org/user-doc/index.html) and ooldtp. ooldtp is not yet documented. * [1]: Right now the performance is done through the time module. It will be changed, eventually, to the desktop-testing-library module. * [2]: Import the desktop-testing-library. The latest documentation of the testing library API is available at http://people.ubuntu.com/~ara/ldtp/doc/testing_module_doc/ * [3]: The applications are subclasses of Application ([../DesktopTestingLibrary/Application]). Check the available applications at the testing library API documentation. * [4]: Open (http://people.ubuntu.com/~ara/ldtp/doc/testing_module_doc/ubuntutesting.ubuntu.GEdit-class.html) is a method inherit from the Application class. It will try to open the application through its menu and will wait for the main window to appear. * [5]: write_text is a method for the Gedit class, that writes the given text to the main buffer. * [6]: log is a function of ldtp that writes to the log. == The Application Class == The Application class is one of the main classes of the Desktop Testing Library. Its aim is to include all the common behavior of the Ubuntu applications. If the application you want to test is not yet in the library, you can still use the Application class. The Application class at least can: * exit: Given an application, it tries to quit it. It reloads the application map for the given context. * save: Given an application, it tries to save the current document. * write_text: Given an application it tries to write text to its current buffer. * remap: It reloads the application map for the given context. Please, check the complete documentation of the class at [[http://people.ubuntu.com/~ara/ldtp/doc/testing_module_doc/ubuntutesting.ubuntu.Application-class.html|the API documentation]] |
Summary
The aim of this document is to provide a hands-on introduction to the use of the Ubuntu testing package to create new Ubuntu tests.
Prerequisites
ldtp and python-ldtp packages are needed to run the tests based on the testing library. Both packages are available in universe.
Installation
There are PPA packages for Intrepid. To install the library:
- Add the following lines to your /etc/apt/source.lists:
deb http://ppa.launchpad.net/apulido/ubuntu intrepid main deb-src http://ppa.launchpad.net/apulido/ubuntu intrepid main
- $ sudo apt-get update
- $ sudo apt-get install desktop-testing-library
Hello World!
Once installed we are going to create our first script to test Ubuntu. Our script will open the Gedit and will write the string "Hello World!" in the main gedit window. We will comment below the meaning of each of the lines.
1 # Main LDTP python wrappers [0]
2 from ooldtp import *
3 from ldtp import *
4 from ldtputils import *
5
6 # Necessary if we want to track performance [1]
7 from time import *
8
9 # The main library in the testing-library for Ubuntu [2]
10 from ubuntutesting.ubuntu import *
11
12 try:
13
14 # Gedit is the main class for GEdit tests. [3]
15 gedit = GEdit()
16
17 # Start performance test
18 start_time = time()
19
20 # Open Gedit application and wait for existance [4]
21 gedit.open()
22
23 # Write the selected text [5]
24 gedit.write_text("Hello World!")
25 stop_time = time()
26
27 elapsed = stop_time - start_time
28
29 # Log time performance [6]
30 log ('elapsed_time: ' + str(elapsed), 'comment')
31
32 except LdtpExecutionError, msg:
33 raise
[0]: LDTP is written mainly in C, but it has two wrappers in python, ldtp (http://ldtp.freedesktop.org/user-doc/index.html) and ooldtp. ooldtp is not yet documented.
- [1]: Right now the performance is done through the time module. It will be changed, eventually, to the desktop-testing-library module.
[2]: Import the desktop-testing-library. The latest documentation of the testing library API is available at http://people.ubuntu.com/~ara/ldtp/doc/testing_module_doc/
- [3]: The applications are subclasses of Application ([../DesktopTestingLibrary/Application]). Check the available applications at the testing library API documentation.
[4]: Open (http://people.ubuntu.com/~ara/ldtp/doc/testing_module_doc/ubuntutesting.ubuntu.GEdit-class.html) is a method inherit from the Application class. It will try to open the application through its menu and will wait for the main window to appear.
- [5]: write_text is a method for the Gedit class, that writes the given text to the main buffer.
- [6]: log is a function of ldtp that writes to the log.
The Application Class
The Application class is one of the main classes of the Desktop Testing Library. Its aim is to include all the common behavior of the Ubuntu applications.
If the application you want to test is not yet in the library, you can still use the Application class.
The Application class at least can:
- exit: Given an application, it tries to quit it. It reloads the application map for the given context.
- save: Given an application, it tries to save the current document.
- write_text: Given an application it tries to write text to its current buffer.
- remap: It reloads the application map for the given context.
Please, check the complete documentation of the class at the API documentation
Testing/Automation/Mago/DesktopTestingLibrary (last edited 2009-06-29 09:17:00 by 63)