Skip to content

kobiton/xlr-kobiton-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Kobiton plugin for XebiaLabs XL Release product

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.

Featured tasks

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

Preparation

A. Getting Kobiton Username and API key

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

B. Getting SSH key for the private repository

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

Using Kobiton plugin

A. Global configuration

  1. In the XL Release home page, go to Settings > Shared configuration > Kobiton: Server >

step 2

  1. 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.

step 3

When all fills are filled as above, you can test the connection with Kobiton Server by pressing the buttonbutton2.

  1. 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.

    server connected

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.

B. Kobiton plugin tasks

  • 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.

release

  • 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.

    add task

The full detail of the plugin will show in the below sessions. Kobiton Plugin now supports 3 tasks on XL Release environment:

1. List Available Devices

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.

listdevices1

  • 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:

custom  params

  • 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 output list
Click at the row below ${} Create a new varaible of type key-value map to create varaible output list
Result output list

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.

2. Request Execute Test

This is the task used for requesting Kobiton server to execute your test.

Request execute test

  • List available devices: place the output of task 1 (if exist) to this section.

    Step Description
    Click the button button3 task2param1
    Input exactly variable you created in task 1 in the textbox task2param1b
    Result task2param1c
  • 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

Example: example request execute

  • 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 outputjob1
Click at the row below ${} Create a new varaible of type key-value map to create varaible outputjob2
Result outputjob3

3. Wait for Execution

This task will collect the result from "Request Execute test" task to let you know the automated test is pass or fail.

Wait for execute

  • 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:

sample result

Developer Integration guide

Setup for development

Assume the environment is Mac OS

Executing:

  gradle clean build
  • Copy the jar file from build/libs into your plugins folder.

References

Feedbacks

If you have any issue or further information, follow steps below to request Kobiton for support.

  1. Go to https://portal.kobiton.com
  2. In the navigation bar at the top of the page, click Support.

Kobiton Support Button

  1. Fill in all necessary information and click Submit.

Kobiton Submit Ticket Form