GUI Testing with VCLAuto

From Apache OpenOffice Wiki
< QA
Revision as of 01:11, 13 August 2012 by Liuzhe (Talk | contribs)

Jump to: navigation, search


Introduction

VCLAuto is a Java library for OpenOffice GUI testing like the old VCLTesttool. It can easily integrates with JUnit. VCLAuto provides APIs to generate user interface events such as keystrokes and mouse clicks, do GUI actions and get information from the GUI to validate functions.


Notice

TCP/IP will be used during testing. It may lead your firewall to show some warning messages.

Getting the source code

Anyone can checkout source code from our Subversion repository. Run the following command.

svn co https://svn.apache.org/repos/asf/incubator/ooo/trunk/main/test/ test

If you are not familiar with Subversion, see our Subversion Basics for more information.

Getting started with Eclipse

Prerequisites

Setup project

Step 1. Open Eclipse, click menu "File->Import...", and then select "General->Existing Projects into Workspace".
File:Vclauto guide 1.png
Step 2. Click next, set "Select root directory" to the source code directory, and then check the following projects.

testcommon: The project contains the common test utilities and low-level implementation to do GUI testing
testgui:  The project contains the GUI testing scripts. Test case should be written in this project.

File:Vclauto guide 2.png
Step 3. Click "Finish" to import the projects.

Run testing

Step 1. Set AOO's installation location firstly. If AOO is installed in the default directory [1], you can skip this step.
Otherwise, click menu "Window->Preferences" ("Eclipse->Preferences" on Mac), select "Java->Installed JREs" page and then select the checked JRE.
File:Vclauto guide 10.png
Click "Edit" button and then add the following line in "Default VM Arguments"

-Dopenoffice.home="Your OpenOffice installation directory which contains soffice.bin"

File:Vclauto guide 12.png
Click "Finish".
Step 2. Select one test class. e.g. testcase.gui.AOOTest, and then click "Run" on the toolbar to start testing
File:Vclauto guide 14.png
When testing is finished, JUnit view will show the result.
File:Vclauto guide 16.png

Getting started with command line

Prerequisites

Run testing

How do I run testing on OpenOffice?
Run the following commands.

cd test
ant -Dtest.classes="Test class list" -Dopenoffice.home="Your OpenOffice installation directory which contains soffice.bin"

e.g. Run testcase/gui/AOOTest and testcase/gui/SmokeTest against OpenOffice installed in "/Applications/OpenOffice.org.app"

cd test
ant -Dtest.classes="testcase/gui/AOOTest.class,testcase/gui/SmokeTest.class" -Dopenoffice.home="/Applications/OpenOffice.org.app/Contents/MacOS"

If test.classes is not specified, BVT will be executed. If openoffice.home is not specified, it will try to test OpenOffice installed in the default directory[1]. e.g. Run BVT against OpenOffice in the default directory.

cd test
ant


As a developer, how do I run testing against my own build?
It's easy for developers to run testing after building OpenOffice. One thing you need to do is to make sure you run the commands in the build environment. The script will automatically install your build and then start testing. e.g.

source LinuxX86Env.Set.sh
cd test && ant

Where to get the testing result?

By default, the testing output is stored in "test/testspace/output". Open "test/testspace/output/report/index.html" in your browser to see the testing report.
File:Vclautoreport.png

There are several directories to store special stuff.

report/: Test result in HTML. 
result/: Test result in XML.
screenshot/: Screenshot pictures when test assert is failed.
logs/: The detail log.

Development

Now, all things have been ready for developing new test code. If you are interested, please read GUI Testing Development to get more information.

Note

  1. 1.0 1.1 Template:Documentation/Note
Personal tools