14
votes

I'm trying to use Allure-framework to generate a report for my Selenium WebDriver tests. I use JUnit framework and allure-maven-plugin with version 1.3.9 of Allure. I run tests with mvn test then generate the report using mvn site. I see generated report in target/site/allure-maven-plugin/ directory. When I open index.html page with Firefox it works normally. However when doing the same thing in Chrome or Safari I see nothing.

What's wrong? Am I missing something? My pom.xml file is located here.

4

4 Answers

21
votes

This problem is related to default Webkit security settings which forbid doing Ajax requests on the local filesystem. You have at least two possible solutions:

  1. Serve index.html with some web-server like Nginx or Apache. This will emulate remote website and thus trick your browser. With Allure CLI 2.0+ this can be done using the following command:

$ allure report open

  1. Use --allow-file-access-from-files Chrome flag. See details in this question.
6
votes

To use allure report in chrome, you have two options:

  • Use mvn allure:serve target. It will generate the report and open a tab in Chrome (if default browser)
  • Generate the report using mvn allure:report target and serve the site your self, using any http server. if you have node you can use http-server for example npm install http-server -g and then http-server target/site/allure-maven-plugin)

DO NOT use --allow-file-access-from-files flag, is it DANDEGEROUS

0
votes

To open your report in Chrome browser use the below command in cmd prompt

allure open path_to_allure_report_folder

This will open your report.

-2
votes

In Addition to the above answer using "--ignore-certifcate-errors" with chromeOptions might be helpfull.

DesiredCapabilities capabilities;
capabilities = DesiredCapabilities.chrome();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--ignore-certifcate-errors");
chromeOptions.addArguments("test-type");
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver = new ChromeDriver(capabilities);