status-react/ci/tests/Jenkinsfile.e2e-nightly

87 lines
2.0 KiB
Plaintext
Raw Normal View History

pipeline {
agent { label 'linux' }
parameters {
string(
name: 'APK_NAME',
description: 'Filename of APK uploaded to SauceLabs.',
)
2021-12-29 16:10:22 +00:00
string(
name: 'KEYWORD_EXPRESSION',
description: 'This will run tests which contain names that match the given string expression (Optional)',
defaultValue: '',
)
}
options {
disableConcurrentBuilds()
}
stages {
stage('Setup') {
steps { script {
dir('test/appium') {
sh 'pip3 install --user -r requirements.txt'
}
} }
}
stage('Test') {
steps {
withCredentials([
usernamePassword(
credentialsId: 'test-rail-api',
usernameVariable: 'TESTRAIL_USER',
passwordVariable: 'TESTRAIL_PASS'
),
usernamePassword(
credentialsId: 'sauce-labs-api',
usernameVariable: 'SAUCE_USERNAME',
passwordVariable: 'SAUCE_ACCESS_KEY'
),
string(
credentialsId: 'etherscan-api-key',
variable: 'ETHERSCAN_API_KEY'
),
string(
credentialsId: 'infura-e2e-token',
variable: 'WEB3_INFURA_PROJECT_ID'
),
]) {
dir('test/appium/tests') {
sh """
python3 -m pytest \
--numprocesses 15 \
--rerun_count=2 \
--testrail_report=True \
-m testrail_id \
2022-03-01 11:56:12 +00:00
-m \"not upgrade and not transaction\" \
2021-12-29 16:10:22 +00:00
-k \"${params.KEYWORD_EXPRESSION}\" \
--apk=${params.APK_NAME}
"""
}
}
}
}
}
post {
always {
script {
sauce('sauce-labs-cred') {
saucePublisher()
}
}
}
success {
script {
junit(
testDataPublishers: [[$class: 'SauceOnDemandReportPublisher', jobVisibility: 'public']],
testResults: 'test/appium/tests/*.xml'
)
}
}
}
}