# Appsurify Script Installation
## Index
- [Installation Instructions](#install)
- [Available Arguments](#available_arguments)
- [Required Arguments](#required_arguments)
- [Recommended Arguments](#recommended_arguments)
- [Tests To Run](#teststorun)
- [Example Usage](#example_usage)
- [Additional Arguments](#additional_arguments)
- [Build Failure Arguments](#build_failure_arguments)
## <a id="install"></a>Installation Instructions
### Requirements
Python 3.6+
### Installation Command
pip install appsurifyci --upgrade
## <a id="available_arguments"></a>Available Arguments
### <a id="required_arguments"></a>Required Arguments
| argument | options |
| --- | --- |
| apikey | Apikey from appsurify |
| url | Url of the appsurify instance i.e. "https://dummy.appsurify.com"|
| project | Name of the project |
| testsuite | Name of the testsuite |
| branch | Name of the branch the tests are running against |
| commit | SHA of the commit |
### <a id="recommended_arguments"></a>Recommended Arguments
| argument | options |
| --- | --- |
| runtemplate | Options - all tests, no tests (used just to push results from the prior command), prioritized tests (requires --percentage argument to be added and the percentage of tests to be run. See [below](#teststorun) for details |
| testtemplate | Options - mvn, cucumber mvn, sahi testrunner, sahi ant, testim, mocha, pytest, rspec, robotframework, cyprus, mstest, vstest, katalon, opentest. For additional integrations talk to the Appsurify team |
| runcommand | Command to execute tests in the target environment, if command is custom to your test suite |
| report | Location of xml reports created by the test run if this is not the default location for the test type |
## <a id="teststorun"></a>Parameter Details - Tests Execution
| Option | Details |
| --- | --- |
| all tests | Will run all tests. Will fail on any failure. Recommended for nightly or weekly test executions |
| no tests | Will run no tests. Will fail on any failure. Recommended when starting with Appsurify to just upload data |
| prioritized tests | Requires the percentage argument. Will only fail the build on new/reopened defects. Recommended for your most frequent run type |
## <a id="example_usage"></a>Example Usage
runtestswithappsurify --url "https://dummy.appsurify.com" --apikey "$APIKEY" --project "$PROJECT" --testsuite "$TESTSUITE" --runtemplate "prioritized tests" --testtemplate "mvn" --percentage "20" --commit "$COMMIT" --branch "$BRANCH"
## <a id="additional_arguments"></a>Additional Arguments - For Customization
| argument | default | options/details |
| --- | --- | --- |
| fail | newdefects, reopeneddefects | options newdefects, reopeneddefects, flakybrokentests, newflaky, reopenedflaky, failedtests, brokentests |
| rerun | "false" | whether failed tests should be rerun |
| maxrerun | 3 | the number of times failed tests should be rerun |
| failfast | "false" | whether after each set of test runs to determine if the build has failed (tests will still be rerun if this has been selected) |
| executioncommand | "" | Command to be executed following completion of the script [[teststorun]] will be replaced with the formatted list of tests to run |
| percentage | "" | Percentage of tests to be run if prioritized tests is selected in the runtemplate |
For CI specific integrations please contact Appsurify
Change Log
==========
0.0.83
-------------------
- multi repo to running tests
0.0.76
-------------------
- multi repo to git script
0.0.72
-------------------
- retries and timeouts for requests
0.0.67
-------------------
- Additional logging for git
0.0.66
-------------------
- Split for xunit azure
- Latest as option for commits
0.0.62
-------------------
- Add support for Gradle cucumber and playwright
0.0.56
-------------------
- Add Git script
0.0.33
-------------------
- Improve azure functionality
- Set tests to run for variable on failure
0.0.31
-------------------
- Add ability to run new tests
- Add ability to run all tests on weekend
0.0.26
-------------------
- Add new runcommand param
- Add percentage
0.0.25
-------------------
- Fix for invalid trx files
0.0.23
-------------------
- Fix for webdriver io creating invalud Junit
- Fix for large trx files
- Improvement for specflow removing retry
0.0.22
-------------------
- Include additional filter for Azure
0.0.21
-------------------
- Change report to work for partial paths in Windows
0.0.19
-------------------
- Update for Cypress
0.0.18
-------------------
- Added recursive search for reports
0.0.17
-------------------
- Add integration with Bitrise using --bitrise flag saves tests to env variable TESTS_TO_RUN
0.0.16
-------------------
- Update for pipe output
0.0.12
-------------------
- Update for pipe output
0.0.9
-------------------
- Update for trainer
0.0.7 (08/02/2021)
-------------------
- Update for Azure to run tests via saved variable
0.0.5 (08/02/2021)
-------------------
- Default rerun to false
0.0.4 (08/02/2021)
-------------------
- Add try catch to environment variable creation
0.0.3 (08/02/2021)
-------------------
- Third Release
- Fix failfast tests
0.0.2 (07/02/2021)
-------------------
- Second Release
0.0.1 (07/02/2021)
-------------------
- First Release