Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Status
colourGreen
titleUp TO DATE

...

Field in configuration file

Whether the field is necessary depending on the type of job (apk, custom or url)

Description

Default or example value

platform



Status
titleALL

The platform on which the tests will run.

mobile

resultPath



Status
titleALL

The path where you want the Test Runner to save the results.

./greenspector/measures

componentsPath



Status
titleALL

The path where components used by the Test Runner are installed.

$HOME/.greenspector

greenspector




Informations on your GREENSPECTOR profile.



server


Status
titleALL

Your GREENSPECTOR Server URL.

https://app.greenspector.com


token


Status
titleALL

Your private token registered on GREENSPECTOR Server.

123456789AZERTY

proxy




Configure these fields if you are using a proxy server.



protocol


Status
titleALL

The protocol used by the proxy.

http or https


hostname


Status
titleALL

The proxy's URL.



port


Status
titleALL

The port used by the proxy server.



user


Status
titleALL

The username you are using to connect to the proxy server.



password


Status
titleALL

The password associated with this username.


target




Contains the settings of the targeted platform



connection


Status
titleALL

The way you are connected to the device.

wifi or usb


serial


Status
titleALL

The mobile device id, can be retrieved with adb devices. Use this if you previously set connection value to usb.



ip


Status
titleALL

The mobile IP adress on your Wi-Fi network, can be retrieved with adb devices. Use this if you previously set connection value to wifi.



port


Status
titleALL

The mobile remote port for adb on your Wi-Fi network. Use this if you previously set connection value to wifi.

5555


paths



The paths to required Android SDK's tools.




adb

Status
titleALL

Path to ADB (Android Debug Bridge).

adb



aapt

Status
titleALL

Path to AAPT (Android Asset Packaging Tool).

$HOME/Android/Sdk/build-tools/27.0.2/aapt


phantomas



For module http_request in job.yml file.




path

Status
colourBlue
titleURL

The path to the phantomas executable if not already in your path.

phantomas


hardware



Contains information about your physical measurement tool




address

Status
titleALL

USB port which the physical probe is connected to 

/dev/ttyACM0


setupCommands


Status
titleALL

You can provide any useful shell commands that will run on the device before each iteration of testing. Use this parameter if your device needs to be prepared before each iteration and you do not want to prepare it with your GDSL ou UI Automator test.

setupCommands:

  - settings put global verifier_verify_adb_installs 0

  - sh /sdcard/myscript.sh

job.yml

Field in configuration file

Whether the field is necessary depending on the type of job (apk, custom or url)

Description

Default or example value

mode



Status
titleALL

The type of job you want to lauch, as explained above.

apk or custom or url or freerunner

greenspector




This block contains details about the GREENSPECTOR application in which you want to save your measures.



application







name

Status
titleALL

The name of the application .




version

Status
titleALL

The version of the application.


job




The job definition.



url


Status
colourYellow
titleAPK
Status
colourBlue
titleURL

If you previously set mode to url, it is the URL of the website you want to measure.

Otherwise it is an URL pointing to your Android APK.

You can precise a local path to your apk, a public URL to download your apk, a package name if you want to benchmark an already installed apk or a package name if you want to install from the PlayStore before running the test


You can choose an URL :

  • local path : /home/user/app/demo.apk

  • package name : com.microsoft.office.outlook



urls


Status
colourYellow
titleAPK
Status
colourGreen
titleCUSTOM

You can provide a list of APKs to be installed and eventually measured.

You can precise a local path to your apk, a public URL to download your apk, a package name if you want to benchmark an already installed apk or a package name if you want to install from the PlayStore before running the test

When using custom mode at least one of the APK should contain your instrumented tests (if you do not use tests written in Greenspector DSL with the option testsSuites)

for each url you can choose the location :

  • local path : /home/user/app/demo.apk


testPackages


Status
colourGreen
titleCUSTOM

If you previously set mode to custom, you can provide a list of packages containing your instrumentation test cases.



testsSuites


Status
colourGreen
titleCUSTOM

If you previously set mode to custom, you can provide groups of tests files writen with the Greenspector DSL.


For example :

testsSuites:
  - name: suite1
    testFiles:
       - "/home/user/test/steps1.testgb"
       - "home/user/test/steps2.testgb"
  - name: suite2
    testFiles:
       - "/home/user/test/steps3.testgb"


monitoredPackages


Status
colourGreen
titleCUSTOM
Status
colourRed
titleFREERUN

If you previously set mode to custom, you can provide a list of packages to monitor.



monitoredPackage

(Deprecated)


Status
colourGreen
titleCUSTOM
Status
colourRed
titleFREERUN

If you previously set mode to custom, you can provide the package to monitor. 

This field is deprecated, prefer to use monitoredPackages



extras


Status
colourGreen
titleCUSTOM

Use to transmit extras parameters to your instrumentation with the format key, value

  • You can use predefined parameters :

    • config-skipsetupphone: if "true" then skip the setup configuration that happens before test.

    • config-waitForIdle: if "false" set idle timeout to 0

    • config-screenofftimeout: Set the time of inactivity before the screen goes to sleep (in millisecond)

    • config-screenbrightness: set brightness of the screen. value is between 0 and 255

    • config-gps: if "enabled" then activate location on phone before test

    • config-bluetooth: if "enabled" then activate bluetooth on phone before test

    • config-nfc: if "enabled" then activate NFC on phone before test

    • config-darkmode: if "enabled" then activate the dark mode on phone before test

  • You can use custom parameters to fill parameters on your GDSL file

  • You can filter your custom UIAutomator tests (no GDSL tests) using those extras parameters.

https://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner)



You can use custom parameters like this :

extras:
    PARAMETERNAME: "myValue"
will replace all ${PARAMETERNAME} in the GDSL file by myValue


If you use custom UIAutomator tests (no GDSL tests) you can filter the class you launch by annotation :

extras:
    annotation: com.greenspector.demo.test.MyAnnotation

(this extra parameter will be added to your uiautomator instrumentation like this -e annotation com.greenspector.demo.test.MyAnnotation)


networkMode


Status
colourYellow
titleAPK
Status
colourBlue
titleURL
Status
colourGreen
titleCUSTOM

The networkMode of the test. The phone has to be able to handle the networkMode.

WIFI, 4G, 3G or 2G. Default value is WIFI.

  

scenario


Status
colourYellow
titleAPK
Status
colourBlue
titleURL

Possible value is simple for an APK job. For a URL job, both simple and avance can be used.

APK job / simple scenario (deprecated) :

  • Reference Measure (only the mobile platform) for 20 seconds

  • Application Idle in foreground for 20 seconds

  • Application Idle in background for 20 seconds

URL job / simple scenario (deprecated) :

  • Reference Measure (only the browser) for 20 seconds

  • Website Launch for 20 seconds

  • Website Idle in foreground for 20 seconds

URL job / avance scenario:

  • Reference Measure (only the browser) for 20 seconds

  • Website Launch for 20 seconds

  • Website Idle in foreground for 20 seconds

  • Scrolling the Website for 4 seconds

  • Website Idle in background for 20 seconds

simple (deprecated) or avance


iterations


Status
titleALL

How many times you want to run the scenario.



testTimeout


Status
titleALL

Timeout for the total duration of the test. Default value is 30m, max value is 60m.

45m30s


stepName


Status
colourRed
titleFREERUN

Name of the step



duration


Status
colourRed
titleFREERUN

Duration of the test.

1m30s


authentication



If you previously set mode to apk, the Test Runner can handle an authentication form if your application has one.




actions

Status
colourYellow
titleAPK

Set of actions to interact with the authentication form, either by coordinates or by IDs.

There is currently two types of actions: click and text.

- "text;coordinates;300;400;user@mail.com"

- "text;id;session[password];userpassword"
- "click;coordinates;500;900"


browser


Status
colourBlue
titleURL

If you previously set mode to url, it is the web browser you want to measure on.

Only Google Chrome is supported for now.

chrome


cache


Status
colourBlue
titleURL

If you previously set mode to url, set this to true if you want the Test Runner to run a second test of your website with data in the browser cache.



online


Status
titleALL

Set this to true if you want the Test Runner to automatically send the results of the measures to your GREENSPECTOR Server. Otherwise, set it to false, the results will be saved locally.



modules







http_request

Status
colourBlue
titleURL

Set this to true to enable analysis of HTTP requests.




android_system_monitoring

Status
colourYellow
titleAPK
Status
colourBlue
titleURL
Status
colourGreen
titleCUSTOM

Set this to true to enable collection of additional system metrics during the job.




hardware_probe

Status
colourYellow
titleAPK
Status
colourBlue
titleURL
Status
colourGreen
titleCUSTOM

Set this to true to enable physical measurement  




wakelock_probe

Status
colourYellow
titleAPK
Status
colourBlue
titleURL
Status
colourGreen
titleCUSTOM

Set this to true to enable wakelock measurement for the first iteration


...

The Test Runner allow you to test one command writen with 04 - List of GDSL commands

Code Block
# For example, to start google chrome:
./testrunner testdslcommand --command applicationStart,com.android.chrome

...