Status | ||||
---|---|---|---|---|
|
You can use Jenkins to launch your GREENSPECTOR Tests to measure your website or your mobile app.
Requirements
You need to install the GREENSPECTOR CLI on your Jenkins server
- The GREENSPECTOR CLI file could be downloaded from the Modules page of your GREENSPECTOR Web Interface. You have to choose the executable which match your server OS.
- Connect to your Jenkins server through ssh or ftp
- Upload the GREENSPECTOR CLI on your Jenkins server and Slaves if any
- Prefer to rename the file in gspt
- For linux or mac environment, you need to give right of execution : chmod +x gspt
- Prefer to put it in your path
How to launch measures on your website or your mobile application every day
1 - Create an application on your GREENSPECTOR Web Interface
Choose what you want to measure, your website or your mobile application.
In our tutorial we choose to measure the GREENSPECTOR institutional website https://greenspector.com/en/home/ so we call the application 'greenspector.com'
2 - Create a Freestyle project on your Jenkins interface
3 - Configure the trigger of your freestyle project
You can choose when the project is triggered. In our example we choose every morning at 3 am
4 - Make a secret with your private Token
You can get your private Token on the GREENSPECTOR Web Interface in your preference page.
This private token is used by the command line tools Greenspector CLI to communicate with GREENSPECTOR API.
In the page configuration of your Jenkins freestyle project, go to the Build Environment block and choose "Use secret text(s) or file(s)". Choose a name for your new secret (for example MY_GREENSPECTOR_PRIVATE_TOKEN)
Then Add a new credential (Put the token in the secret field)
5 - Configure the Build
On the "Build" block of your Jenkins configuration page, add a 'build step' of type 'Execute shell.
6 - Configure the 'Execute shell' step :
You have to use the GREENSPECTOR CLI commands to configure the measure to launch. If you need more detail on GREENSPETOR CLI
In this section : Child pages (Children Display)
- Set your GREENSPECTOR instance and token. Use the secret you have previously configured.
Code Block gspt init -a https://app.greenspector.com/api -p $MY_GREENSPECTOR_PRIVATE_TOKEN
- Set the GREENSPECTOR application and version in which you want to send measures. We set, for the version, the date of the day but you can use any build number of your application.
Code Block gspt initprojectconfiguration --application "greenspector.com" --version "$(date '+%d-%m-%Y')"
Set the device on which the measures will be launched. For example a Galaxy S7.
Code Block gspt testbench set-environment --environment "mobile::android::8::Samsung - Galaxy S7"
To have a list of all available devices on which you can send measures, you can use the GREENSPECTOR CLI on your PC for example :
The command 'gspt testbench set-environment ' gives- gthe list
Then you have to replace the android version and the device name in the previous command. For example to send measure on Galaxy S9 android 10 ,
Code Block |
---|
gspt testbench set-environment --environment "mobile::android::10::Samsung - Galaxy S9" |
7 - Choose what you want to measure
You can decide to run a benchmark test of your web site, run a benchmark test of your mobile application or run a custom test with your GDSL script of your web site or mobile application
7 - 1 - Benchmark website
Code Block |
---|
# launch 3 iterations of a benchmark on the site web
gspt testbench measure-url --iterations 3 --url https://greenspector.com/fr/accueil/ |
Summary example of a benchmark of a website :
7 - 2 - Benchmark mobile application
To launch 3 iterations of benchmark for your mobile application
If your application is already installed on the phone or is available on PlayStore, you need to precise the package name. For example, with this we launch 3 iterations on the application Netflix.
Code Block |
---|
gspt testbench benchmark-apk --target "com.netflix.mediaclient" --iterations 3 |
In other case, you need to pass an apk via a public url or an url accessible by your jenkins
Code Block |
---|
gspt testbench benchmark-apk --target https://dl.greenspector.com/demo/demo.apk --iterations 3 |
Or to pass an apk via an absolute PATH in JENKINS or relative PATH in your freestyle project
Code Block |
---|
gspt testbench benchmark-apk --target ./demo.apk --iterations 3 |
Summary example of a benchmark of a mobile application :
7 - 3 - Launch custom tests written with GDSL
To launch 3 iterations of a custom test :
Code Block |
---|
# Path to your GDSL script in the working directory
PWD=$(pwd)
TEST_SUITE1="$PWD/greenspector-site.testgb"
# launch a custom test with your gdsl script
gspt testbench custom-tests --monitoredPackage com.android.chrome --iterations 3 --testsSuite "suite1:$TEST_SUITE1" --networkMode WIFI |
- To write GDSL Test, you can consult Greenspector DSL
- You should set the monitoredPackage argument.
if your script is about the measurement of a website, you should set the package of Chrome to monitore : --monitoredPackage com.android.chrome
If your script is about the measurement of a mobile application, you should set the package name of the mobile app to monitore : --monitoredPackage com.netflix.mediaclient
- You probably need to import the GDSL script in the working directory of your freestyle project.
The easiest way is to configure the "source Code Management" block with a git project which contains your GDSL files
Summary example of a custom test :
8 - Tests Tracking
When your freestyle project as build, a test has been scheduled. To follow the progress, you can go to the page 'Test tracking' of your GREENSPECTOR Web Interface
9 - Results
When the test is finished, you can consult the Test Results tab to see if all the tests are passed :
If the test launch is a benchmark, you can go to the 'Dashboard' tab
You can consult all the measures :
You can consult the evolution of each version :