Difference between revisions of "QA/test automation guide"

From Apache OpenOffice Wiki
< QA
Jump to: navigation, search
(Introduction)
Line 6: Line 6:
 
VCLAuto is a Java library for OpenOffice UI/functional testing like VCL TestTool.  
 
VCLAuto is a Java library for OpenOffice UI/functional testing like VCL TestTool.  
 
VCLAuto can be used with JUnit. The project is under developing and  will be released in Apache OpenOffice 4.0.
 
VCLAuto can be used with JUnit. The project is under developing and  will be released in Apache OpenOffice 4.0.
 +
 +
 +
There are a lot of testing code in the OO project, e.g. qadevooo, smoketestoo_native. Why do we need the library? The code in qadevooo & smoketestoo_native uses UNO API to perform testing. It can't fully simulate a user behavior and check if testing GUI is correct. For example, check if user can draw a shape by dragging, check if OO automatically capitalize the first letter after typing a word, check if a button's checked when user change the selection, etc.
 +
 +
Actually VCLAuto is a client, which connects to the automation server (automation module) in OpenOffice with socket. With the "-enableautomation" argument, OpenOffice will start the server with listening on the port 12479 be default.
  
 
== Code ==
 
== Code ==

Revision as of 06:52, 13 February 2012

VCLAuto

Introduction

VCLAuto is a Java library for OpenOffice UI/functional testing like VCL TestTool. VCLAuto can be used with JUnit. The project is under developing and will be released in Apache OpenOffice 4.0.


There are a lot of testing code in the OO project, e.g. qadevooo, smoketestoo_native. Why do we need the library? The code in qadevooo & smoketestoo_native uses UNO API to perform testing. It can't fully simulate a user behavior and check if testing GUI is correct. For example, check if user can draw a shape by dragging, check if OO automatically capitalize the first letter after typing a word, check if a button's checked when user change the selection, etc.

Actually VCLAuto is a client, which connects to the automation server (automation module) in OpenOffice with socket. With the "-enableautomation" argument, OpenOffice will start the server with listening on the port 12479 be default.

Code

Write UI testing case like the following:


public class UITest {
 
  @Before
  public void setUp() throws Exception() {
    initApp();
  }
 
  @Test
  public void test() throws Exception() {
    // Create a new text document via main menu
    startcenter.menuItem("File->New->Text Document").select();
    typeKeys("Hello OpenOffice");
    writer.menuItem("Edit->Select All").select();
    // Copy the text
    typeKeys("<$copy>");
    assert("Text is inputted successfully.", "Hello OpenOffice", App.getClipboard());
  }
 
  @After
  public void tearDown() throws Exception() {
 
  }
 
}

Use Apache Ant to Run Testing and Generate Report

File:Vclautoreport.png

Personal tools