allure-framework / allure-maven

Maven plugin generating Allure report from test results
Apache License 2.0
93 stars 55 forks source link

Environment variables in allure.properties file are not resolved #57

Open uterator opened 6 years ago

uterator commented 6 years ago

I'm submitting a ...

What is the current behavior?

The environment variable is not resolved in the allure.results.directory file For example: in the next line the variable name is not resolved, it was used as a string: allure.results.directory=${project.build.directory}/allure-results

What is the expected behavior?

Resolve the variable name in the allure.properties file. Instead of having allure.results.directory=${project.build.directory}/allure-results expected to see allure.results.directory=<resolved path to the build directory>/allure-results,

What is the motivation / use case for changing the behavior?

Without this functionality, it is not possible to run tests in AWS Device Farm when the project is integrated with Allure 2. The request is opened based on this ticket: https://github.com/allure-framework/allure-maven/issues/45

Please tell us about your environment:

Other information

Allure 2 is trying to create allure.results.directory directory which path is set in the allure.properties file.

In AWS DF environment, the directory of test execution is read-only, so tests fail because Allure 2 was unable to create the allure.results.directory directory in the read-only location.

Each test run in AWS has an r/w working directory where the Allure2 results directory can be created. The path of that r/w directory is available through the 'WORKING_DIRECTORY' environment variable in AWS. As it is a random path, it can't be set initially in the local environment at packaging time.

The solution would be to pass the Allure 2 results path as a variable locally which will work in AWS. like: allure.results.directory=${WORKING_DIRECTORY}/allure-results

arkadiyala commented 5 years ago

@sgupta3112 @baev @eroshenkoam @uterator - Is it resolved? Even i'm trying to update allure results path based on testng.xml i'm using.

testng1.xml results should be stored under target/Results_testng1 testng2.xml results should be stored under target/Results_testng2

arkadiyala commented 5 years ago

@Laurent - Any idea on how to update allure results path based on testng.xml i'm using.

For example : testng1.xml results should be stored under target/Results_testng1 testng2.xml results should be stored under target/Results_testng2