Welcome to Squash TF components documentation!¶
Squash TF Runners¶
Environment configuration¶
Hint
Our runners are build to run in our Execution Server. So it’s highly recommended to configure your development environment as describe in the section below.
First we advise to use the same tools versions as those we used in our execution server :
- maven: 3.5.0
- java: 1.8
Our maven library are hosted on our own repository. In consequence, you have to define our repository in your maven settings.
To do so, edit (or create) the maven settings.xml
file in your .m2
directory (The .m2 directory is generally
located in your Home directory) and add a new profile:
<settings>
...
<profiles>
<profile>
<id>tf-maven-repos</id>
<!-- Squash TF maven repository -->
<repositories>
<repository>
<id>org.squashtest.tf.release</id>
<name>squashtest test factory - releases</name>
<url>http://repo.squashtest.org/maven2/releases</url>
</repository>
</repositories>
<!-- Squash TF maven plugin repository -->
<pluginRepositories>
<pluginRepository>
<id>org.squashtest.plugins.release</id>
<name>squashtest.org</name>
<url>http://repo.squashtest.org/maven2/releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>tf-maven-repos</activeProfile>
</activeProfiles>
</settings>
We also advise to patch your maven by using the procedure below for a better logging with our runners :
Note
In all the procedure $MVN_HOME
is your maven installation directory, and $MVN_VERSION
your maven version.
- Add in
$MVN_HOME/lib/ext/
the jars:
- Create a logging configuration file called
log4j2.xml
in$MVN_HOME/conf/logging/
and fill it with :
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
<Properties>
<Property name="maven.logging.root.level">INFO</Property>
</Properties>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="[%p] %msg%n%throwable" />
</Console>
</Appenders>
<Loggers>
<Root level="${sys:maven.logging.root.level}">
<Appender-ref ref="console"/>
</Root>
<!-- <logger name="[USER_MESSAGE]" level="DEBUG"/> -->
</Loggers>
</Configuration>
- Remove if exists :
- In the directory
$MVN_HOME/lib
the filemaven-sl4j-provider-$MVN_VERSION.jar
- In the directory
$MVN_HOME/conf/logging/
the filedeletesimpleLogger.properties
- In the directory
Squash TF Products Download Page¶
Squash TF Execution Server¶
Latest Version : 2.3.1
Squash TF Execution Server 2.3.1 Release Note (EN
/ FR
)
> Execution Server : Installer¶
- Linux : squash-tf-execution-server-2.3.1-RELEASE-linux-installer.jar
- Windows : squash-tf-execution-server-2.3.1-RELEASE-win64-installer.jar
Download previous version: here
> Execution Server : Docker¶
The latest release tag is 2.3.1-RELEASE
Our images are now available on dockerhub :
> Execution agent : Installer¶
- Linux : squash-tf-execution-agent-2.3.1-RELEASE-linux-installer.jar
- Windows : squash-tf-execution-agent-2.3.1-RELEASE-win64-installer.jar
Download previous version: here
> Execution agent : Docker¶
The latest release tag is 2.3.1-RELEASE
Our images are now available on dockerhub :
- execution agent : https://hub.docker.com/r/squashtest/squash-tf-execution-agent
- execution agent + X11 + chrome : https://hub.docker.com/r/squashtest/squash-tf-chrome-ui-execution-agent
- execution agent + X11 + firefox : https://hub.docker.com/r/squashtest/squash-tf-firefox-ui-execution-agent
Squash TF Roadmap¶
Runners¶
Currently our runners concerns the Java platform (Java Junit Runner, Cucumber Java Runner) and Python (Robot Framework Runner). We planned to support automated tests developed in other languages.
In our scope we have :
- Be able to launch an execution order from a Jenkins job with a Squash TM iteration identifier as parameter to retrieve the test list.
- Open the range of supported programming language. Python and C# currently are in our scope.
- Be able in the future to run tests written with studios like agilitest or Katalon.
Squash TF Execution Server¶
- We’ve planned to create a Jenkins plugin to provide a more user friendly way to connect Squash TF with Squash TM.
Squash TF Community¶
Note
This part of the site is currently under construction
- Our bugtracker : https://ci.squashtest.org/mantis. In this bugtracker, we have 3 projects wherein you could declare the bug :
- Squash TF Execution Server
- Squash TF Runners (for all the runners)
- Our forum : https://forum.squashtest.com/
Squash Test Factory (aka Squash TF) is a set of components whose purpose is to help you run your project’s automated tests related to Squash TM (Squash Test Management) test cases.
Squash TF provide :
- Runners : They manage the link between Squash TM test cases and the automated tests
- An execution server : To handle the execution of automated tests drove by our runners
Runners¶
The Squash TF runners should be able to
- manage the test suites to execute
- launch the tests executions
- manage the reports creation
- when linked with Squash TM
- report tests execution status to Squash TM
- send execution reports URL to Squash TM
- list all the automated tests of the project
For now, the following runners are available :
- Squash TF Java Junit Runner
- Squash TF Cucumber Java Runner
- Squash TF Robot Framework Runner
- Squash TF UFT Runner (Commercial Runner)
- Squash TF Ranorex Runner (Commercial Runner)
Some other runners will come. The final aim is : Whatever technology you choose to implement your automated tests, we want to be able to execute them in Squash TF Execution Server.
Execution Server¶
The execution server is based on jenkins and its distributed build capabilities (for multi environments execution). Use Jenkins bring us :
- all the features of the jenkins ecosystem ( scm connectors, master/agent mode, pipeline, …)
- facilitate the integration in CI/CD pipelines
We distribute Squash TF Execution Server in two ways:
- as installer for windows and linux
- as docker image for linux