-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'next' into re-enstate_nexus
- Loading branch information
Showing
30 changed files
with
655 additions
and
433 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,23 @@ | ||
--- | ||
path: "/docs" | ||
title: "Introduction" | ||
title: "Installing options" | ||
--- | ||
This hub page contains links to the main Galasa documentation. To get going with Galasa as quickly as possible, explore the [Getting started](/docs/getting-started) section. Read on to learn a little about Galasa's architecture first. | ||
|
||
# Galasa's architecture | ||
At its top level, Galasa decomposes into three major components: | ||
There are a few options available when installing Galasa. Prerequisites vary, depending on the option that is chosen. | ||
|
||
* The underlying core Galasa framework | ||
* A collection of Managers | ||
* A test runner | ||
You can install Galasa for using in the command-line, for using in Eclipse, or for sharing with your department (using the Galasa zipped distribution). | ||
|
||
*Galasa's key components (not all Managers are currently implemented)* | ||
![Galasa architecture](galasa-architecture-framework.svg) | ||
There are benefits of installing Galasa for using in the command-line. Much of the configuration set-up that is required is done for you automatically by scripts, so less manual intervention is needed. You can then import the configuration into an IDE of your choice, rather than having to use Eclipse. | ||
|
||
## The core framework | ||
Galasa's core framework orchestrates all component activities, and co-ordinates with the test runner to actually execute your tests. You never have to write code to *invoke* your tests - you just write the code that defines them, as a set of one or more test classes and the methods within. | ||
If you are using only Eclipse for your IDE, do not have restricted internet access and want to use open-source Galasa you might choose to install the Galasa Eclipse plug-in directly from the external update site for using in Eclipse. | ||
|
||
The Galasa framework automatically recognizes your test definitions, and launches the required Managers and the test runner to provision and execute them. All without you having to explicitly invoke them. | ||
If you do not have access to Maven Central, Eclipse Marketplace, and Docker Hub from your company network, you can use the Galasa zipped distribution. | ||
|
||
It is unlikely that you will need to change the framework or test runner code during the normal range of testing activities. | ||
|
||
For more information about the benefits of using a framework for your automated testing, see the [Benefits of Galasa](../about/automation) section. | ||
## Next steps | ||
|
||
## Managers | ||
The two main purposes of a Manager are to reduce the amount of boilerplate code within a test and provide proven tool interaction code. This makes the test code simpler and easier to write, understand and maintain, as the focus of a test's development shifts to validating application changes, rather than marshalling environmental resources. | ||
If you are installing Galasa for using in the command-line, follow the instructions in the [Getting started using the CLI](/docs/cli-command-reference/cli-command-reference) documentation. | ||
|
||
Sometimes, Managers perform a range of general-purpose services, and at other times, they are much more focused. For example, the HTTPClientManager contains a wide range of facilities you might expect from a programmable HTTP client, while the DB2Manager confines its scope to a range of DB2 interactions. | ||
If you are installing Galasa for using in the Eclipse, or if you are installing the zipped distribution of Galasa, follow the instructions in the [Getting started using Eclipse](/docs/getting-started) documentation. | ||
|
||
Different Managers can collaborate with each other to perform a joint task, including sharing information and getting other Managers to complete tasks for them. This work is coordinated by the Galasa framework. | ||
|
||
Three types of Manager are delivered with Galasa: | ||
|
||
* *Core Managers*: a set of central, fundamental Managers with wide-ranging use. Examples include *zosFileManager*, *zosBatchManager* and *zosCommandManager*. These are part of the core Galasa distribution. | ||
* *Product Managers*: a set of Managers responsible for test interactions with specific products, for example *CICSManager*, *WMQManager* and *DB2Manager*. Again, some product Managers will be part of the core Galasa distribution but it is also possible that your team may write its own Manager for a specialty product used in your organization. | ||
* *Other, or ancillary Managers*: a set of Managers to orchestrate the integration of a range of useful software tools and components, such as *SeleniumManager*, *JMeterManager* and *DockerManager*. It is likely that you will write your own Managers to expose the services of similar tools and components used within your team. | ||
|
||
### Application-specific Managers | ||
As well as consuming the services of Managers either delivered with Galasa or written by others, you may need to write a Manager specific to your application under test - an *application-specific Manager*. This is to abstract *application-specific* boilerplate functionality into a single place, removed from the tests themselves. | ||
|
||
A [summary table describing Managers](/docs/managers) that are currently available or planned for future releases is available in the Managers topic. | ||
|
||
## The test runner | ||
Under the direction of the core framework, the Galasa test runner is responsible for actually executing your tests. | ||
To find out about the architecture of Galasa and some of its key components, take a look at the [Galasa architecture](/docs/architecture) documentation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
--- | ||
path: "/docs/architecture" | ||
title: "Architecture" | ||
--- | ||
|
||
To get going with Galasa as quickly as possible, explore the [Installing options](/docs) section. Read on to learn a little about Galasa's architecture and key components. | ||
|
||
# Galasa's architecture | ||
At its top level, Galasa decomposes into three major components: | ||
|
||
* The underlying core Galasa framework | ||
* A collection of Managers | ||
* A test runner | ||
|
||
*Galasa's key components (not all Managers are currently implemented)* | ||
![Galasa architecture](../galasa-architecture-framework.svg) | ||
|
||
## The core framework | ||
Galasa's core framework orchestrates all component activities, and co-ordinates with the test runner to actually execute your tests. You never have to write code to *invoke* your tests - you just write the code that defines them, as a set of one or more test classes and the methods within. | ||
|
||
The Galasa framework automatically recognizes your test definitions, and launches the required Managers and the test runner to provision and execute them. All without you having to explicitly invoke them. | ||
|
||
It is unlikely that you will need to change the framework or test runner code during the normal range of testing activities. | ||
|
||
For more information about the benefits of using a framework for your automated testing, see the [Benefits of Galasa](../about/automation) section. | ||
|
||
## Managers | ||
The two main purposes of a Manager are to reduce the amount of boilerplate code within a test and provide proven tool interaction code. This makes the test code simpler and easier to write, understand and maintain, as the focus of a test's development shifts to validating application changes, rather than marshalling environmental resources. | ||
|
||
Sometimes, Managers perform a range of general-purpose services, and at other times, they are much more focused. For example, the HTTPClientManager contains a wide range of facilities you might expect from a programmable HTTP client, while the DB2Manager confines its scope to a range of DB2 interactions. | ||
|
||
Different Managers can collaborate with each other to perform a joint task, including sharing information and getting other Managers to complete tasks for them. This work is coordinated by the Galasa framework. | ||
|
||
Three types of Manager are delivered with Galasa: | ||
|
||
* *Core Managers*: a set of central, fundamental Managers with wide-ranging use. Examples include *zosFileManager*, *zosBatchManager* and *zosCommandManager*. These are part of the core Galasa distribution. | ||
* *Product Managers*: a set of Managers responsible for test interactions with specific products, for example *CICSManager*, *WMQManager* and *DB2Manager*. Again, some product Managers will be part of the core Galasa distribution but it is also possible that your team may write its own Manager for a specialty product used in your organization. | ||
* *Other, or ancillary Managers*: a set of Managers to orchestrate the integration of a range of useful software tools and components, such as *SeleniumManager*, *JMeterManager* and *DockerManager*. It is likely that you will write your own Managers to expose the services of similar tools and components used within your team. | ||
|
||
### Application-specific Managers | ||
As well as consuming the services of Managers either delivered with Galasa or written by others, you may need to write a Manager specific to your application under test - an *application-specific Manager*. This is to abstract *application-specific* boilerplate functionality into a single place, removed from the tests themselves. | ||
|
||
A [summary table describing Managers](/docs/managers) that are currently available or planned for future releases is available in the Managers topic. | ||
|
||
## The test runner | ||
Under the direction of the core framework, the Galasa test runner is responsible for actually executing your tests. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.