Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/martinschneider/aws-devicefarm-maven-plugin

Maven plugin to run Appium tests on AWS Device Farm
https://github.com/martinschneider/aws-devicefarm-maven-plugin

Last synced: 5 days ago
JSON representation

Maven plugin to run Appium tests on AWS Device Farm

Awesome Lists containing this project

README

        

[Build status](https://travis-ci.com/martinschneider/aws-devicefarm-maven-plugin)
[Buy me a coffee](https://www.buymeacoffee.com/mschneider)

# aws-devicefarm-maven-plugin

## Summary
The purpose of this Maven plugin is to prepare and trigger test runs on AWS Device Farm.

## Maven goals
The following goals are available:

### uploadAppPackage
This goal will upload the app package (apk or ipa) to AWS S3 for further use within Device Farm. The arn of the uploaded file will be exposed as a Maven property `appArn` for use in further build steps.

### uploadTestPackage
This goal will upload the test package (zip) to AWS S3 for further use within Device Farm. Its arn will be exposed as a Maven property `testArn` for use in further build steps. Refer to [the AWS documentation](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types-android-appium-java-junit.html#test-types-android-appium-java-junit-prepare) for details on how to package this file using Maven.

### uploadExtraData
This goal will upload extra data (zip) to AWS S3 for further use within Device Farm. Its arn will be exposed as a Maven property `extraDataArn` for use in further build steps. AWS Device Farm will extract the contents of the extra data zip file to external data for Android or the app's sandbox for iOS.

## Sample configuration

You can find a sample configuration below. In real-life applications you might want to use properties instead of hard-coding the values into the `pom.xml`.

```

1.5



io.github.martinschneider
aws-devicefarm-maven-plugin
${aws.devicefarm.maven.plugin.version}

YOUR_AWS_PROJECT_ARN
YOUR_AWS_ACCESS_KEY
YOUR_AWS_SECRET_KEY
YOUR_AWS_REGION



uploadAppPackage
verify

uploadAppPackage


PATH_TO_YOUR_APP_PACKAGE
android



uploadTestPackage
verify

uploadTestPackage


PATH_TO_YOUR_TEST_PACKAGE



uploadExtraData
verify

uploadExtraData


PATH_TO_YOUR_EXTRA_DATA



scheduleRun
verify

run


YOUR_DEVICE_POOL_ARN
demo
true
true

1.7.2


${testSpecArn}

${appArn}
${testArn}
${extraDataArn}




```

Execute with `mvn verify`

## Contact
Martin Schneider, [email protected]