View on GitHub

Sirius

Sirius Win32 Java Client Overview

Download this project as a .zip file Download this project as a tar.gz file

Introduction

This is the client for Sirius platform responsible for Win32 GUI applications interactions. It provides communication to Sirius Win32 Server module as well as provides the high-level API for making window-based abstractions.

Project Documentation

ResourceDescription
Project Documentation Home PageThe home page for generated Maven site containing major technical documentation for the module
Project Reports PageThe home page for generated Maven site containing major analysis reports for the module
Project Javadoc PageThe home page for generated Maven site containing major Javadoc documentation for the module

Installation

The Sirius Win32 client library is delivered in 2 ways:

  1. Self-contained Java library provided as jar file. It can be taken from downloads page. All we need to do is just unpack the archive and include appropriate jar file into the project.

  2. Maven dependencies. Each client module is also published to Maven repository. The list of available modules can be found on the following page. So, if we have Maven project where we’d like to use Sirius Java client libraries we should update Maven script with the entry like this:

1
2
3
4
5
	<dependency>
		<groupId>com.github.mkolisnyk</groupId>
		<artifactId>sirius.client.win32</artifactId>
		<version>LATEST</version>
	</dependency>

or any similar for all the modules we’d like to include.

Usage Sample

After that we can use library classes, e.g:

1
2
3
4
5
	import org.sirius.client.win32.Win32Client;
	
	...
	
	Win32Client client = new Win32Client();

In this example we’ve just initialized main entry point for Sirius Win32 API and after that we can make window declarations like:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
	public class NotepadWindow extends MainWindow {
		
		public OpenDialog openDialog;
		SaveMessageDialog dSave;
		public Edit edtText;

		/**
		 * @param client
		 * @param locator
		 */
		public NotepadWindow(Win32Client client, Win32Locator locator) {
			super(client, locator);

			openDialog = new OpenDialog(client, this, new Win32Locator("#32770(.*)",0));
			dSave = new SaveMessageDialog(client, this, new Win32Locator("#32770(.*)",0));
			edtText = new Edit(this,new Win32Locator("Edit",0));
		}		
	}
	
	NotepadWindow notepad = new NotepadWindow(client,new Win32Locator("Notepad",0));

and then use them within the test code like:

1
2
3
	notepad.start("notepad.exe", "", "");
	Assert.assertTrue(notepad.exists(IWin32Options.DEFAULT_TIMEOUT));
	notepad.setActive();

Detailed information about Sirius Win32 client API usage can be found on the Sirius Win32 Client Interaction page where all major concepts are described.

Demo

The basic Sirius Win32 demo is available on Youtube:

Sirius: Basic Win32 demo

Documentation

Project Wiki

Releases

All available client modules can be found at the Maven repository.

Blog Links

Related blog entries

Authors

Myk Kolisnyk (kolesnik.nickolay@gmail.com)

View Mykola Kolisnyk's profile on LinkedIn

Google+