Difference between revisions of "QA/test automation guide"

From Apache OpenOffice Wiki
< QA
Jump to: navigation, search
(Notice)
 
(5 intermediate revisions by 3 users not shown)
Line 11: Line 11:
  
 
== Notice ==
 
== Notice ==
[[Prepare your testing machine]QA/test_env ]
+
There are some reasons for test failures, so please [[QA/test_env|prepare your testing machine]] before running test.
  
 
== Getting the source code ==
 
== Getting the source code ==
 
Anyone can checkout source code from our Subversion repository. Run the following command.
 
Anyone can checkout source code from our Subversion repository. Run the following command.
 
<source lang="bash">
 
<source lang="bash">
svn co https://svn.apache.org/repos/asf/incubator/ooo/trunk/test/ test
+
svn co https://svn.apache.org/repos/asf/openoffice/trunk/test/ test
 
</source>
 
</source>
If you are not familiar with Subversion, see our [http://incubator.apache.org/openofficeorg/svn-basics.html Subversion Basics] for more information.
+
If you are not familiar with Subversion, see our [http://openoffice.apache.org/svn-basics.html Subversion Basics] for more information.
  
 
== Getting started with Eclipse ==
 
== Getting started with Eclipse ==
Line 39: Line 39:
 
Click "New" to create one new variable "'''openoffice.home'''", and set its value to Apache OpenOffice installation directory.<br />
 
Click "New" to create one new variable "'''openoffice.home'''", and set its value to Apache OpenOffice installation directory.<br />
 
[[File:test_automation_guide_11.png]]<br />
 
[[File:test_automation_guide_11.png]]<br />
{{Template:Documentation/Note| '''The default installation directory of Apache OpenOffice'''<br />
+
{{Note| '''The default installation directory of Apache OpenOffice'''<br />
  Mac OS X: "''/Applications/OpenOffice.org.app/Contents"''<br />
+
  Mac OS X: "''/Applications/OpenOffice.app/Contents"''<br />
  Linux: "''/opt/openoffice.org3''"<br />
+
  Linux: "''/opt/openoffice3''"<br />
  Windows: "''C:/Program Files/OpenOffice.org 3''"<br />
+
  Windows: "''C:/Program Files/OpenOffice 3''"<br />
  Windows 64b: "''C:/Program Files (x86)/OpenOffice.org 3''"
+
  Windows 64b: "''C:/Program Files (x86)/OpenOffice 3''"
 
}}
 
}}
 
Click "OK" to close "New Variable Entry"dialog. Then click "OK" button of preferences dialog. A message box pops up. Click "Yes".<br />
 
Click "OK" to close "New Variable Entry"dialog. Then click "OK" button of preferences dialog. A message box pops up. Click "Yes".<br />
 
[[File:test_automation_guide_12.png]]<br />
 
[[File:test_automation_guide_12.png]]<br />
 +
 
=== Run testing ===
 
=== Run testing ===
 
'''Step 1.''' Select one test class. e.g. testcase.gui.AOOTest, and then click "Run" on the toolbar to start testing. <br />
 
'''Step 1.''' Select one test class. e.g. testcase.gui.AOOTest, and then click "Run" on the toolbar to start testing. <br />
Line 76: Line 77:
 
</source>
 
</source>
 
Then start testing with the command "run".  
 
Then start testing with the command "run".  
e.g. Run all test classes under package bvt
+
e.g. Run all test classes under package bvt ("Build Verification Testing")
 
<source lang="bash">
 
<source lang="bash">
run -Dopenoffice.home="/Applications/OpenOffice.org.app/Contents" -tp bvt
+
run -Dopenoffice.home="/Applications/OpenOffice.app/Contents" -tp bvt
 
</source>
 
</source>
 
e.g. Run the given test classes
 
e.g. Run the given test classes
 
<source lang="bash">
 
<source lang="bash">
run -Dopenoffice.home="/Applications/OpenOffice.org.app/Contents" -tc bvt.gui.BasicFunctionTest
+
run -Dopenoffice.home="/Applications/OpenOffice.app/Contents" -tc bvt.gui.BasicFunctionTest
 
</source>
 
</source>
 +
On Linux use e.g. -Dopenoffice.home="/opt/openoffice4/program" instead.
 +
  
 
''' Where to get the testing result? '''
 
''' Where to get the testing result? '''

Latest revision as of 13:55, 7 July 2018


Introduction

Two kind of approaches is supported by Apache OpenOffice.

  • GUI Testing: Simulating a common user to perform testing. It depends on a Java library named VCLAuto, which does 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.
  • UNO API Testing: Use UNO API to verify functions.

Notice

There are some reasons for test failures, so please prepare your testing machine before running test.

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/openoffice/trunk/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".
Test automation 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 includes the common test utilities and low-level implementation to do GUI testing
testgui:  The project includes the GUI testing scripts. 
testuno:  The project includes the UNO API testing scripts.

Test automation guide 2.png
Step 3. Click "Finish" to import the projects.

Step 4. Click menu "Window->Preferences" ("Eclipse->Preferences" on Mac) and then select "Java->Build Path->Classpath Variables" page.
Test automation guide 10.png
Click "New" to create one new variable "openoffice.home", and set its value to Apache OpenOffice installation directory.
Test automation guide 11.png

Documentation note.png The default installation directory of Apache OpenOffice
Mac OS X: "/Applications/OpenOffice.app/Contents"
Linux: "/opt/openoffice3"
Windows: "C:/Program Files/OpenOffice 3"
Windows 64b: "C:/Program Files (x86)/OpenOffice 3"

Click "OK" to close "New Variable Entry"dialog. Then click "OK" button of preferences dialog. A message box pops up. Click "Yes".
Test automation guide 12.png

Run testing

Step 1. Select one test class. e.g. testcase.gui.AOOTest, and then click "Run" on the toolbar to start testing.
Test automation guide 13.png
When testing is finished, JUnit view will show the result.
Test automation guide 14.png
You also can select one package, click "Run", and then choose "JUnit test" to run all test classes under it.

Getting started with command line

Prerequisites

Run testing

As a developer, how to run testing against an OpenOffice built by me?
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.

cd main
source MacOSXX86Env.Set.sh
cd ../test && ant

As a normal user, how to run testing against an installed OpenOffice?
Firstly compile the project with the command under test module.

ant -Dopenoffice.home="OpenOffice installation directory" compile

Then start testing with the command "run". e.g. Run all test classes under package bvt ("Build Verification Testing")

run -Dopenoffice.home="/Applications/OpenOffice.app/Contents" -tp bvt

e.g. Run the given test classes

run -Dopenoffice.home="/Applications/OpenOffice.app/Contents" -tc bvt.gui.BasicFunctionTest

On Linux use e.g. -Dopenoffice.home="/opt/openoffice4/program" instead.


Where to get the testing result?

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

Special stuff in the output directory.

result.xml: Test result in HTML. 
result.html: Test result in XML.
screenshot/: Screenshot pictures when test assert is failed.

Next

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

Personal tools