Facebook
From Mohit Daswani, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 54
  1. node {
  2.    def mvnHome
  3.    stage('Preparation') { // for display purposes
  4.    //pass login
  5.   properties([parameters([credentials(credentialType: 'com.browserstack.automate.ci.jenkins.BrowserStackCredentials', defaultValue: '', description: '', name: 'BROWSERSTACK_USERNAME', required: true), [$class: 'ExtensibleChoiceParameterDefinition', choiceListProvider: [$class: 'TextareaChoiceListProvider', addEditedValue: false, choiceListText: '''single
  6. local
  7. parallel
  8. android
  9. ios
  10. ''', defaultChoice: 'single'], description: 'Run Selenium scripts on BrowserStack Automate', editable: false, name: 'TEST_TYPE']])])
  11.    
  12.     git changelog: false, poll: false, url: 'https://github.com/nithyamn/bs-cucumber-testng-jenkins.git'
  13.    }
  14.    stage('Initiate tests on BrowserStack') {
  15.         browserstack(credentialsId: "${params.BROWSERSTACK_USERNAME}",localConfig: [localOptions: '', localPath: '']) {
  16.             def user = "${env.BROWSERSTACK_USERNAME}"
  17.             def browser = "${params.browser}"
  18.             if ( user.contains('-')) {
  19.                 user = user.substring(0, user.lastIndexOf("-"))
  20.             }
  21.             withEnv(['BROWSERSTACK_USERNAME=' + user]) {
  22.                if("${params.TEST_TYPE}" == 'android'){
  23.                    def app_path = "${WORKSPACE}/src/test/java"
  24.                    
  25.                     browserstackAppUploader(app_path + '/WikipediaSample.apk') {
  26.                        
  27.                     sh label: '', returnStatus: true, script: '''#!/bin/bash -l
  28.                                 mvn test -P "${TEST_TYPE}"
  29.                                '''
  30.                     }
  31.                }
  32.                else if("${params.TEST_TYPE}" == 'ios'){
  33.                    def app_path = "${WORKSPACE}/src/test/java"
  34.                    
  35.                     browserstackAppUploader(app_path + '/BStackSampleApp.ipa') {
  36.                        
  37.                     sh label: '', returnStatus: true, script: '''#!/bin/bash -l
  38.                                 mvn test -P "${TEST_TYPE}"
  39.                                '''
  40.                     }
  41.                }
  42.                else{
  43.                     sh label: '', returnStatus: true, script: '''#!/bin/bash -l
  44.                                 mvn test -P "${TEST_TYPE}"
  45.                                '''
  46.                }    
  47.             }
  48.         }
  49.     }
  50. }