Versions Compared

Key

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

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

We don't have a way to export this macro.

Status
colourGreen
titleUP TO DATE

Table of Contents

Configuration

Client configuration in $HOME/.greenspector/config.yml

...

Code Block
languagebash
gspt init -a <greenspectorApi> -p <privateToken>


where:

  • greenspectorApi is your GREENSPECTOR Server API URL (for example https://app.greenspector.com/api);

  • privateToken is your private token, available in the Preferences screen on your GREENSPECTOR Web Interface.

The file $HOME/.greenspector/config.yml should now exists.

...

Optional proxy configuration


Info

The proxy can be automatically detected.

In windows, the CLI automatically detects  WPAD settings or PAC configuration

In linux or mac, the CLI automatically detects env variable HTTPS_PROXY, HTTP_PROXY or FTP_PROXY


If previous gspt ping does not work in your work office, you probably need to configure a proxy to allow the CLI to access Internet.

...

This command will tell you whether your basic configuration and credentials are correct or not. If correct, you should have the message "Server pinged with success".

you can get these errors if you misconfigured your proxy:

Error

Cause

. because an auto detection of your browser is set, you, you can find

Bad port

Error: Get "https://app.greenspector.com/api/ping": Proxy Authentication Required

Bad user or password

Error: Get "https://app.greenspector.com/api/ping": proxyconnect tcp: dial tcp 149.202.59.166:3129: i/o timeout

Bad Host

Error: parse "http://myuser:mypassword": invalid port ":mypassword" after host

Need to encode password

Error: Get "https://app.greenspector.com/api/ping": proxyconnect tcp: tls: first record does not look like a TLS handshake

Bad protocol, use http instead of https or the opposite

Tips:

If you do not know the proxy host of your office and your browser is configured automatically to discover the proxy, you can get the following file via your browser :

wpad.<domaine_local>/wpad.dat

Example : https://wpad.myorganisation.fr/wpad.dat

...

In order to be able to use all the features of the GREENSPECTOR CLI, you also need a configuration file in your current working folder ($CURRENT_FOLDER/.greenspector/config.yml). This file contains the following fields:

...

$CURRENT_FOLDER/.greenspector/config.yml
Code Block
languagetext
application: <name of the application>
version: <version of the application>
environment: <environment to run the tests on>
	platform: <platform of the environment (mobile in most cases)>
	os: <OS of the environment>
	version: <version of this OS>
	device: <device name of the environment>
	browsers: <list of browsers available on this environment>

For example:

...

...

$CURRENT_FOLDER/.greenspector/config.yml
Code Block
languagetext
application: MyFirstApplication
version: 0.1.2
environment:
	platform: mobile
	os: android
	version: "7"
	device: nexus6
	browsers:
	- chrome

...

Before using meter command, you have to define the application and the version you are working on by setting the configuration file in the current folder by following instructions in paragraph 43909160 CLI#Current working folder configuration in $CURRENT_FOLDER/.greenspector/config.yml.

Send measures

Use this subcommand to send the results files from the current folder to the server:

...

Before using testbench command, you have to define the application and the version you are working on by setting the configuration file in the current folder by following instructions in paragraph 43909160 CLI#Current working folder configuration in $CURRENT_FOLDER/.greenspector/config.yml.

Set the environment

To use the testbench command, you first need to set the environment for your project.
To do so, you should use this command:

...

This command will ask you to select one environment among the available ones on your server. To select one, simply type the number for the environment you want when asked to.

Run a measure on a website (only available for android)

This feature allows you to run a measure of a website on the Power Test Cloud/Bench.
To use this feature, you have to first configure the application name, version and the environment to run the measure on.
The command to run is:

...

4 - --networkMode: The network mode for the test. Values can be "WIFI", "4G", "3G" or "2G". (Default: WIFI). Optional Optional

5 - --report: Automatically generate the test report in the .greenspector folder and wait for the job to end. (Default: false). Optional

This command will send a measure request to the server. After this measure has run on the Power Test Bench/Cloud, you will find the results on the web interface.

Benchmark one or more

...

app (only available for android)

This feature allows you to benchmark your Android application on the Power Test Cloud/Bench.
To use this feature, you have to first configure the application name, version and the environment to run the measure on.
The command to run is:

Code Block
languagebash
gspt testbench benchmark-apk --apkFileapp <path to APK>

Examples:

Code Block
languagebash
gspt testbench benchmark-apk --apkFileapp target/final.apk # local path to apk
gspt testbench benchmark-apk --apkFileapp https://demo/demo.apk # apk from public url
gspt testbench benchmark-apk --apkFileapp com.microsoft.office.outlook # package name to download the apk from the PlayStore
gspt testbench benchmark-apk --apkFileapp target/main.apk --apkFile target/app-module.apk --apkFile target/commons.apk --networkMode 3G # three apk to install and launch benchmark in 3G
gspt testbench benchmark-apk --apkFileapp target/final.apk --iterations 5 --report # Launch 5 iterations of the benchmark and wait for the report

The options are :

1 - --apkFileapp: The APK(s) to benchmark. (If set multiple times, all the APK will be installed but only the first one will be launched and monitored). The apk file could be a local path, a public URL or a package name to download from the PlayStore. Optional if the applications to benchmark are already installed on phone

...

4 - --networkMode: The network mode for the test. Values can be "WIFI", "4G", "3G" or "2G". (Default: WIFI). Optional Optional

This command will send a measure request to the server. After this measure has run on the Power Test Bench/Cloud, you will find the results on the Web Interface.

Some options are deprecated:

1 - --apkFilesapkFile: The APK(s) to benchmark. (If set multiple times, all the APK will be installed but only the first one will be launched and monitored). Mandatory option: Minimum 1. This option is deprecated, use apkFileThe apk file could be a local path, a public URL or a package name to download from the PlayStore. Optional if the applications to benchmark are already installed on phone.  This option is deprecated, use --app.

2 - --apkFiles: The APK(s) to benchmark. (If set multiple times, all the APK will be installed but only the first one will be monitored). Mandatory option: Minimum 1. This option is deprecated, use --app.

Run your custom functional tests on your

...

app / website

This feature allows you to run your custom functional tests on your Android application, iOS application or web site on the Power Test Cloud/Bench.
To use this feature, you have to first configure the application name, version and the environment to run the measure on.
The command to run is:

Code Block
languagebash
# To run Greenspector androidDSL tests
(uiautomator, espresso)
gspt gspt testbench custom-tests --apkFile <pathapp <APK or IPA to APK>install> --testPackagetestsSuite <Test package to launch> <suite name:path_testfile1.testgb,path_testfile2.testgb> --monitoredPackage <package to monitor>

or

# To run Greenspector DSL testsandroid tests (uiautomator, espresso)
gspt testbench custom-tests --apkFileapp <path to APK>APK to install> --testsSuiteapp <path <suite name:path_testfile1.testgb,path_testfile2.testgb>to APK test to install> --app <path to APK test to install> --testPackage <Test package to launch> --monitoredPackage <package to monitor>

Examples:

Code Block
languagebash
# To run Greenspector DSL tests
gspt testbench custom-tests --apkFileapp target/applicationdemo.apk --apkFiletestsSuite targetsuite1:tests/test.apk --testPackage com.greenspector.demo.testsfile1.testgb --monitoredPackage com.greenspector.demo.app

gspt testbench custom-tests --apkFileapp https://dl.greenspector.com/demo/demo.apktarget/demo.ipa --apkFiletestsSuite httpssuite1:tests//dl.greenspector.com/demo/testuiautomator-debug-androidTest.apkfile1.testgb,tests/file2.tgb --apkFiletestsSuite httpssuite2:tests//dl.greenspector.com/demo/testuiautomator-debug.apk
 --testPackage file3.testgb --monitoredPackage com.greenspector.demo.testapp
--monitoredPackage
com.greenspector.demo

gspt testbench custom-tests --apkFile target/application.apkapp fr.francetv.pluzz --apkFile target/test-1.apk --apkFile target/test-2.apktestsSuite launch:./script.testgb --testPackagemonitoredPackage comfr.greenspector.demo.tests.firstfrancetv.pluzz --testPackage com.greenspector.demo.tests.second --monitoredPackage com.greenspector.demo.app --iterations 5iterations=1

# Other examples to run android tests without GDSL (uiautomator, espresso)

gspt testbench custom-tests --apkFileapp target/applicationdemo.apk --apkFileapp target/testtestuiautomator-debug-androidTest.apk --testPackage com.greenspector.app target/testuiautomator-debug.apk --testPackage com.greenspector.demo.tests --monitoredPackage com.greenspector.demo.app
--report

gspt testbench custom-tests --apkFile target/applicationapp https://dl.greenspector.com/demo/demo.apk --testsSuiteapp suite1https:tests//file1.testgb,tests/file2.tgbdl.greenspector.com/demo/testuiautomator-debug-androidTest.apk --testsSuiteapp suite2:tests/file3.testgbhttps://dl.greenspector.com/demo/testuiautomator-debug.apk
 --testPackage com.greenspector.demo.tests --monitoredPackage com.greenspector.demo.app


The options are:

1 - --apkFileapp: Precise the APKs APP (android or iOS app) you want to measure and . For android, if you do not have GDSL tests,  you put the APKs which contain your functional tests to launch. Prefer separate APKs for your app and for your tests. The apk file app could be a local file path to an ipa or an apk, a public URL to a ipa or apk or a package name to download from the PlayStore., or an url to install ipa from Apple store

2 - --testPackage: For each APK containing functional tests you want to launch (i.e. UI Automator or Espresso tests), precise the name of the android package (i.e. package in file AndroidManifest.xml). All tests in those Android packages will be launched. Only for non GDSL test. Mandatory option: Minimum 1 if --testsSuite is not used

...

4 - --monitoredPackage: For each Android application you want to monitored, precise the name of the android package to get metrics about the process (process data, process CPU…). Probes can monitor multi package at a time. In this case, metrics are agreggated. For website, choose the browser where the tests runs (i.e. com.android.chrome). Mandatory option: Minimum  Minimum 1

5 - --iterations: Number of iterations of measure you want. (Default: 1). Optional

...

7 - --extra: Use to transmit extras parameters to your instrumentation with the format name=value (ie --extra annotation=com.greenspector.demo.test.MyAnnotation add the following parameters to your instrumentation -e annotation com.greenspector.demo.test.MyAnnotation). Thus you can filter your tests for example using those extras parameters : https://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner). It can also be used to fill parameters on GDSL file. (exemple --extra PARAMETERNAME="value" will replace all ${PARAMETERNAME} in the GDSL file by value). Optional Optional

8 - --networkMode: The network mode for the test. Values can be "WIFI", "4G", "3G" or "2G". (Default: WIFI). Optional Optional

9 - --disable-dumpsys: Disable Android System Monitoring. By default, this is enabled and will add one iteration to your job for more detailed metrics (Views, Activity, OpenSSL Sockets, ...). If you don't need these metrics, you can disable this iteration, it will reduce testing time.

10 - --only-dumpsys: Run only a Android System Monitoring iteration. This iteration will only be able to retrieve Android System metrics (Views, Activity, OpenSSL Sockets, ...).Some options are deprecated:iteration. This iteration will only be able to retrieve Android System metrics (Views, Activity, OpenSSL Sockets, ...).


Some options are deprecated:

1 - --apkFile: Precise the APKs you want to measure and the APKs which contain your functional tests to launch. Prefer separate APKs for your app and for your tests. The apk file could be a local path, a public URL or a package name to download from the PlayStore. This option is deprecated, use --app

1 - --apkFiles: Precise the APKs you want to measure and the APKs which contain your functional tests to launch. Prefer separate APKs for your app and for your tests.  This option is deprecated, use apkFileuse --app

2 - --testPackages: For each APK containing functional tests you want to launch (i.e. UIAutomator or Espresso tests), precise the name of the android package (i.e. package in file AndroidManifest.xml). All tests in those Android packages will be launched. This option is deprecated, use use --testPackage

3 - --monitoredPackages: The package name of the Android application to monitor with the probes to get metrics about the process (process data, process CPU…). Probes can monitor only one package at a time. For website, choose the browser where the tests runs (i.e. com.android.chrome). This option is deprecated, use use --monitoredPackage



Related articles


Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@185bfa9a
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "cli" and type = "page" and space = "DOCUMENTATION"
labelskb-how-to-article