Jenkins : MobileCloud for Jenkins Plugin

Plugin Information

Distribution of this plugin has been suspended due to unresolved security vulnerabilities, see below.

The current version of this plugin may not be safe to use. Please review the following warnings before use:


The MobileCloud for Jenkins plugin enables  mobile apps to automatically upload from within the Jenkins build “job” to the MobileCloud Platform, where the app is installed on real mobile devices. It then launches a pre-defined Perfecto Mobile script and generates a detailed report, allowing developers to get early warnings of bugs and correct them prior to the QA stage. By using the MobileCloud Jenkins plugin, organizations can streamline the release cycle by delivering more mature and robust mobile apps to QA for a full mobile application test cycle (functional, performance, UI  testing).

About This Plugin

This plugin runs MobileCloud™ scripts written in the Perfecto Mobile Native Automation as a build step.

  • Executes the whole build cycle, including running the script and generating a report including video
  • Uploads files to the MobileCloud 
  • Upload artifacts from another project to the MobileCloud 

How to Use

Prerequisites

The Jenkins machine, or the slave running the job, needs to access the MobileCloud via https (port 443).

Checking your connectivity

Enter the following URL on the machine:

, substituting MyCloudMyUsername, and MyPassword as appropriate. 

Users on the www.perfectomobile.com can use the below URL:

, substituting MyUsername and MyPassword as appropriate.

Getting a response

The reply should be an XML confirming a successful connection. For Example:

Proxy

For Jenkins or slaves that will be running the job that are behind a proxy, enter the proxy information in the Manage Jenkins > Manage Plugins > Advanced page.

 

Configuring your MobileCloud

Before using the plug-in, provide your Perfecto MobileCloud credentials in the Manage Jenkins > Configure System page.

 
Click on Test Connection to verify your MobileCloud credentials.

Note: The MobileCloud name does not need to contain http/https.

Note: The username being used with the plugin must have an Automation role. 

Job Setup

  1. Click New Item.
  2. Enter Item name.
  3. Select Build a free-style software project
  4. Click OK. 

Configuring your job

There are three possible build steps:

Execute MobileCloud script - Executes the whole build cycle, including running the script and generating a report. 
Upload files to MobileCloud - Access files easily.  
Upload artifacts from another project to MobileCloud - Enables flexibility between projects. 

Execute MobileCloud script:
  1. Enter a project description (Optional).
  2. Under Build > Add Build Step, select the build step: Execute MobileCloud script.
  3. Under Automation Script, enter the Perfecto Mobile repository path name. For example, to find a script called AndroidScript located in the my scripts folder, in the PRIVATE subarea,enter PRIVATE:my scripts/AndroidScript
    For more information on the MobileCloud repository click here
  4. Script Parameters - Click the Refresh parameters button to display the runtime parameters defined in the script.

Fill in the parameter values as specified below for each type. 

String/integer: simply type them
For example, “appIdentifier(string)=Perfecto Mobile OSE”

Device parameter: The value should be the device id of the required device.
Use the "Device and Media parameter value assistance" to find the id. For example: "DUT(Device)=TA8830NFLG"

Media/Data table parameters: Type in the repository path where to upload to and the workspace location of the file to upload from, separated by a semicolon.
For example, "PRIVATE:myfolder/TestApp.apk;TestApp.apk"
Use the "Device and Media parameter value assistance" to find the repository path.

How to use the "Device and Media parameter value assistance":

NOTICE: It is not recommended to use runtime parameter of type Handset (Device) ; the specified device may be unavailable at runtime. Instead, use the Select device command within your script to select an available device at runtime. 

Device: Scroll and select the required device. Click on "Copy to clipboard" and then copy the id and paste into the parameter. 

Media: Find the repository path by typing the path in the field. Select an item from the list, then use the clipboard to copy/paste the value into the parameter.

Upload Files to MobileCloud
  1. Specify the path of the file relative to the workspace. 
  2. Type or select the repository item path.

          

Upload Artifacts from another project to MobileCloud
  1. Enter the name of the source project. Once entered, validate the project name.  
    Note: If a project name is not entered or validated an error message appears.
  2. Select build.
  3. Enter paths to upload artifacts or leave blank to upload all artifacts. 
  4. Type or select the item path in the media repository. 
  5. Enter parameter filters. 
    Note: Jobs can be filtered to select only builds matching particular parameters or other build variables.    

Run the Job

  1. Run the job
  2. *View the Perfecto Mobile report - *Click on the View Report link, in the Console Output page, once the script run is complete
  3. View the device video

          

Limitations

  1. Plugin supports one MobileCloud only.
  2. UFT Mobile Scripts are not supported.

Version History

2.41 (Jul 10, 2015)

  • Support for Jenkins Environment Variables
  • Compatible with Copy Artifacts plugin. Includes support of copying software artifacts between projects.

2.20 (Jun 20, 2014)

  • GA version

1.0 (Feb 19, 2014)

  • Beta version

Attachments:

1.xcf (image/x-xcf)
1.jpg (image/jpeg)
2.jpg (image/jpeg)
3.jpg (image/jpeg)
4.jpg (image/jpeg)
5.jpg (image/jpeg)
6.jpg (image/jpeg)
7.jpg (image/jpeg)
Clipboard01.jpg (image/jpeg)
report.png (image/png)
JenkinsCloud.png (image/png)
JenkinsCloud.png (image/png)
JenkinsCloud1.png (image/png)
Jenkins6.png (image/png)
Jenkins7.png (image/png)
Jenkins8.png (image/png)
jenkins9.png (image/png)
JenkinsUploadtoCloud.png (image/png)
Jenkins_UploadFiles2.png (image/png)
JenkinsUploadArtifacts.png (image/png)