Launchers / Automated tests

XStudio can execute any kind of tests (scripts, native code, interpreted code, xml etc.). This means that your already existing test suites are usable as they are. The only condition is to have a launcher available.

XStudio is the only ALM providing ~90 launchers to run almost any type of automated tests in any language and for any type of technology. Check the detailed list in the left menu.

Most of the existing launchers are listed in the open-source's launchers section and in this documentation chapter.
Among these launchers, some are dedicated to manual testing: 5 different interfaces for manual testing are provided along with XStudio.
In addition, all the launchers for automated testing are provided with their source code. They are delivered as open-source and licensed under GNU General Public License v2 (GPLv2)
open-source launchers for XStudio

But that's not all... if you have developed your own proprietary test framework you can also develop (in Java) a custom launcher yourself! as XQual provides a complete and extremely simple SDK.

List of the main test automation frameworks supported

LauncherKeywords
agilitestAgilitest, ATS scripts, KDT
antAnt, Build tool, Continuous Integration, DevOps
autoitAutoIT scripts, GUI, Windows
batbatch scripts, Windows
bat_with_paramsbatch scripts, Windows
beanshellBeanshell scripts, Java, Shell
cerberusWeb, iOS, Android and API (REST, SOAP and Kafka)
cucumberCucumber, BDD, Gherkin, Ruby, Java, JavaScript, C#, PHP
cucumber_v2Cucumber, BDD, Gherkin, Embedded Gherkin, Ruby, Java, JavaScript, C#, PHP
etasqAny physical device (non-intrusive robot)
exeExecutable, Windows
fitnesseFitnesse, Java
gatlingGatling, Load, Performances
genericGeneric scripted tests
generic_version_controlGeneric version-control commands
gitGit, VCS, Github, gitLab, Version control
gradleGradle, Continuous Integration, DevOps
jarJava
javaJava
jmeterJMeter, Load, Performances
jmeter_sqlJMeter, Load, Performances, SQL, Database
jmeter_webJMeter, Load, Performances, HTTP, Web
junitJUnit, Unit, Java
KatalonKatalon, Web, GUI, C#, .NET, Java, Qt, Desktop, Web, Windows, Mobile
Katalon_v2Katalon, Web, GUI, C#, .NET, Java, Qt, Desktop, Web, Windows, Mobile
marathonMarathon, Java
mavenMaven, Build tool, Continuous Integration, DevOps
mochaMocha, JavaScipt
neoloadNeoLoad, Web, Load, Performances
nunitNUnit, .NET, Unit
odin_axeOdin, Selenium, Appium, TestStack
odin_axe_resultsOdin, Selenium, Appium, TestStack
offline_genericAny framework that generate parsable result files supporting JUnit, TestNg, Mockito, EasyMock or any of the manual output format
perlPerl
phpunitPHP
postmanPostman, SOAP, Web, REST, Load, Performances, Security
protractorJavascript, Angular Js
pytestPython, Unit
pythonPython
pyunitPython, Unit
qftestQF-Test, GUI, Java, Swing, SWT, JavaFX, AJAX, JQuery, Windows, Linux
qtpQTP, UFT
ranorexRanorex, Web, GUI, C#, .NET, Java, Qt, Desktop, Web, Windows, Mobile
RapiseRapise, Web, GUI, C#, .NET, Java, Qt, Desktop, Web, Windows, Mobile
robot_frameworkRobot Framework, BDD, Python, Java, .NET, Keyword Testing
robot_framework_v2Robot Framework, BDD, Gherkin, Embedded Gherkin, Python, Java, .NET, Keyword Testing
robot_framework_v3Robot Framework, BDD, Gherkin, Embedded Gherkin, Python, Java, .NET, Keyword Testing
robot_framework_v4Robot Framework, BDD, Gherkin, Embedded Gherkin, Python, Java, .NET, Keyword Testing
sahiSahi, Web
sahi35Sahi 3.5, Web
sahi40Sahi 4.0, Web
sahi60Sahi 6.0, Web
seleneseSelenese, GUI, Web, Selenium, AJAX
selenium_dotnetSelenium, GUI, Web, Mobile, .NET
selenium_htmlSelenium, GUI, Web, Mobile
selenium_javaSelenium, GUI, Web, Mobile, Java
selenium_pythonSelenium, GUI, Web, Mobile, Python
selenium3_htmlSelenium 2.0 WebDriver, GUI, Web, Mobile
shellShell, Linux, Unix
sikuliSikuli, GUI, Desktop, Record
sikulixSikuli, GUI, Desktop, Record
silktestSilk, GUI, Desktop, .NET, Java, Swing, SWT, Web, Windows
soapuiSoapUI, SOAP, Web
soapui_loadSoapUI, SOAP, Web, Load, Performances
soapui_securitySoapUI, SOAP, Web, Security
soatestSOAP, REST, APIs
newmanNewman, Postman, SOAP, Web, Rest, Automated
sql_compareSQL, Database
sql_selectSQL, Database
squishSquish, GUI, Mobile, Desktop, Qt, Java, Web
svnSVN, VCS, Version control
tapeTape, Web, TAP, JavaScript, NodeJs
tclTCL
testcompleteTestComplete, GUI, Windows, Mobile, .NET, Java, Database
testcomplete_v2TestComplete, GUI, Windows, Mobile, .NET, Java, Database
testexecuteTestComplete, GUI, Windows, Mobile, .NET, Java, Database
testexecute_v2TestComplete, GUI, Windows, Mobile, .NET, Java, Database
testngTestNg, Java, Unit
testoptimalTestOptimal, Web, Database, Load, Model-Based, Behavior-Driven, Data-Driven
testoptimal_simpleTestOptimal, Web, Database, Load, Model-Based, Behavior-Driven, Data-Driven
testpartnerTestPartner, GUI, VBA, Windows
teststandSequence, Labview, CVI, .NET, C/C++, ActiveX, HTBasic, ATLAS, VEE, etc.
visualstudioVisualStudio, .NET, Windows
visualstudio_codeduiVisualStudio, GUI, .NET, Windows
waptWAPT, Web, Load, Performances
webdriverioJavascript, Node.js
webuiWebUi, Web, GUI, AJAX
xciXCI, Continuous Integration build plans, DevOps, Release, Pipeline
xunit_dotnetXUnit.NET, Unit, .NET, C#
success (skeleton)Success (skeleton)
random (skeleton)Random (skeleton)
proxyProxy

How to use a launcher

A launcher is what makes the "link" between the logical test declared in XStudio and its physical implementation (the script).
The launchers integrate very simply in XStudio's architecture:

launcher architecture


The first thing you need is to let XStudio knows about your automated tests.
To do that, you just need to create some tests in the test tree in XStudio.
This is the logical definition phase:

logical definition of a test in XStudio


The association of the test with a launcher is made through the category. To do this, create a category in the test tree that will host the tests and associate it with a launcher:

associate a category with a launcher


At run-time, XStudio (or XAgent) will be able to find the physical test using all the data associated to the logical test.
This can include the test name, its logical path, any meta-data associated with it (i.e. attributes) or even parameters included in the execution configuration (selected when the user starts the execution):

how XStudio finds an automated test


Then, the execution engine will connect to the automation framework and will execute the physical test exactely the same way as if it was executed normally (through a GUI, or using a command line, manually etc.):

execution of an automated test with XStudio


Results, traces, logs and any other potential useful information is gathered by the launcher and reported to XStudio.
Every information is securely stored in XStudio database:

reporting of the results in XStudio


Execution Configuration

When you start executing some test, you'll need to select an execution configuration.

In practice, it consists in selecting one of the named configuration that you have built (once for all).
This configuration is built initially using a form that is defined by an XML and this XML is provided along with the launcher.

All the parameters in the configuration are passed to the launcher at run-time.

If you're developing your own launcher, you'll need to provide the jar and a configuration XML.

For instance:

<form name="Timing">
  <formItem type="slider"
            id="0" 
            name="delay between testcases (ms)"
            value="0"
            min="0"
            max="10000"
            readOnly="false"/>
</form>
		

will be embedded in XStudio's GUI as:

launcher parameters


Proprietary/Custom launchers

This mechanism is extremely powerful as it allows you to automate the execution of your proprietary tests very quickly. In most of the cases, only a few tenth of lines of java are sufficient to create your own proprietary launcher.

When you create your own launcher, don't forget to reference it in /var/lib/tomcat8/webapps/xqual/xstudio/launchers/launchers.xml on the server.

Where are they?

All the launchers (as well as their configuration XML) can be found in <Install_folder>/bin/launchers folder.
To get more information on how to develop your own launcher, read the Developer�s guide.