QA/test automation guide

From Apache OpenOffice Wiki
< QA
Revision as of 01:58, 15 February 2012 by Liuzhe (Talk | contribs)

Jump to: navigation, search

VCLAuto [Planning]

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