Kobiton plugin helps users to run automation test on Kobiton devices, remotely and automatically from XL Release platform. Kobiton plugin can apply for uses:
- Users indie using Kobiton services
- User hosting a private server
- On-Premises
For the current version, Kobiton plugin just supports executing test through tasks in a Release job in XL Release.
From the plugin, we provided features to execute automation test easier:
- Get list available devices: Filter and fetch data of devices that users can access in Kobiton
- Request execute test: Request and execute test on provided devices data and test script in Kobiton system
- Wait for execution: Fetch result and log from the requested test
Kobiton Username and API key are required for authenticating with Kobiton System to executing a test.
If you don't have a Kobiton account, visit https://portal.kobiton.com/register to create one.
To get your Kobiton Username and API Key, please follow instructions at IV. Configure Test Script for Kobiton
section on our blog
For executing a test, Kobiton plugin requires test script to be stored in git repository and Kobiton must have permission to access and clone the script to local for executing.
Note: All of your private information such as test scripts, ssh key, etc. will be deleted after processing is completed.
-
For user using test script in public repository: Use the HTTP link directly to the git input field (we will show in the `request executing test task)
-
For user using test script in private repository: Kobiton requires a ssh key (private key) to authenticate with git.
- The ssh key must be authenticated with git repository and it should not contain passphrase.
If you do not know how to authenticate the key with git, please follow the guide from Github create SSH key instruction and Github adding the key to account instruction
-
Fill all information to identify Kobiton servers
Section Description Title Enter the name of your Kobiton Server
Example:Kobiton
Kobiton Username Enter your Kobiton username Kobiton API Key Enter API key of your Kobiton account Kobiton API Url Enter the URL of Kobiton API: https://api.kobiton.com
For on-premise or private hosting user, you can enter your host URL here.Executor Server Url Enter the URL connect to Executor Server: https://executor.kobiton.com
For on-premise or private hosting user, you can enter your host URL here.
When all fills are filled as above, you can test the connection with Kobiton Server by pressing the button.
-
Only if it notices
Kobiton Server is available
as below, which means all your information is correct and XL Release can connect to Kobiton. Please press Save button to apply the config.
Note:
When an error is shown that cannot connect to API or Executor server, please make sure your information is correct and you are available to access the internet.
If you make everything right but cannot access to Kobiton Server, please contact us for more detail.
- From home page choose > Release. Choose any release that you want to run Kobiton plugin, if you haven't had a release yet, choose > New release to create one.
-
In each release we will see the phase widget in the release. Choose > Add task > Manual > Kobiton and you will see all the Kobiton plugin there.
The full detail of the plugin will show in the below sessions. Kobiton Plugin now supports 3 tasks on XL Release environment:
This task will help to fetch all available (online) devices data that the user can access. The data can pass as the environment for other tasks to be consumed.
- Input properties:
Field | Required | Type | Description |
---|---|---|---|
Favorite/In-house/Cloud Devices | Yes | Checkbox | The group containing devices that you want to use for automation test. Note: You must choose at least 1 of these 3 options. |
Android/iOS Devices | Yes | Checkbox | Mobile device OS that you want to get list. Note: you must choose at least 1 of these 2 options. |
Group Id | No | String | The ID of a specific organization group you want to get devices from. For GroupID information, you can visit Kobiton group setting. |
Custom Params | No | Object | Filter devices list based on params provided in Kobiton API docs |
For more details of Custom Params, we can select specific devices properties such as device name, device model, device udid, etc. Take an example, we want to select only Galaxy S8 devices, we can specify in the field as:
- Output properties: If you want to use the output from this task to the next task, you need to create a variable to save the list of devices.
Note: please choose some specific devices by using custom params. Because the next task will pick all devices in this output to execute test one by one.
Step | Image |
---|---|
Type in textbox the variable's name you want to save | |
Click at the row below ${} Create a new varaible of type key-value map to create varaible |
|
Result |
When properties are filled, update your task's information as you need: start date, due date, assignees, watchers, etc.
Finally, you just close the task window, it will autosave.
This is the task used for requesting Kobiton server to execute your test.
-
List available devices: place the output of task 1 (if exist) to this section.
Step Description Click the button Input exactly variable you created in task 1 in the textbox Result -
Input properties:
Field | Required | Type | Description |
---|---|---|---|
In-house devices udid | No | String | The UDID of your private host devices on Kobiton Desktop. Visit our document for more detail about self-host devices. |
Capture Screenshots | No | Checkbox | Screenshots will be stored on our session detail of portal if you select this section. |
Orientation | Yes | Selection | Test on devices as landscape or portrait. |
Test execution type | Yes | Selection | Execute an automation test on app or browser If you choose App, just ignore all the config for browser and the same for the opposite |
Browser | No | Selection | Type of browser: Chrome (Android) or Safari (iOS). Required if you chose to test on a browser. |
App URL/App ID | No | String | Your app's public URL or Kobiton App ID. Required if you chose to test on apps. |
Group ID | No | String | The ID of a specific organization group you want to get devices from. For GroupID information, you can visit Kobiton group setting. |
Git repository | Yes | String | URL to your Git repository that contains automation test scripts. |
Execute branch | No | String | Select the branch contain your script, the default is master. Note: You cannot choose another branch the commands fields. |
Private repository SSH Key | Yes | String | Copy whole of a file of your private SSH key and paste to this section for authenticating with git server. |
Commands | Yes | Yaml syntax | Input commands needed to execute your test script. |
The commands YAML syntax should be:
commands:
- The first command
- The second command
- ...
Note: The location for commands will be at the test script folder that just added, so you do not need to perform command
"cd ${your-test-script}"
to go to your test script
- Output properties: You will need to store the output in a variable for the use of getting test execution result and logs.
Step | Image |
---|---|
Type in textbox the variable's name you want to save | |
Click at the row below ${} Create a new varaible of type key-value map to create varaible |
|
Result |
This task will collect the result from "Request Execute test" task to let you know the automated test is pass or fail.
- Input properties
Field | Required | Type | Description |
---|---|---|---|
Job IDs | Yes | Sting | Input the output variable of "Request Execute test" task |
Terminate when failed | No | Checkbox | The release of XL will be terminated if at least 1 session failed. |
- Output properties
The result of the test execution:
Assume the environment is Mac OS
gradle clean build
- Copy the
jar
file from build/libs into your plugins folder.
If you have any issue or further information, follow steps below to request Kobiton for support.
- Go to https://portal.kobiton.com
- In the navigation bar at the top of the page, click
Support
.
- Fill in all necessary information and click
Submit
.