BlurScreenshots with serenity and Jbehave

48 views
Skip to first unread message

Przemysław Słodkiewicz

unread,
Mar 2, 2017, 10:55:43 AM3/2/17
to Serenity BDD Users Group
Hi Serenity community :)

That is my first post on this group but belive me I search a lot about it.
The problem is that I want to blur some screenshot taken by serenity. Documentation only mention about that option with JUnit not with JBehave. Below is my pom file

<name>Sample Serenity project</name>

<properties>
   
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   
<serenity.version>1.2.2</serenity.version>
   
<serenity.maven.version>1.2.2</serenity.maven.version>
   
<serenity.jbehave.version>1.21.0</serenity.jbehave.version>
   
<!-- <driver>firefox</driver>-->
    <!-- <driver>iexplorer</driver> -->
    <driver>chrome</driver>
</properties>

<dependencies>
   
<dependency>
       
<groupId>net.serenity-bdd</groupId>
       
<artifactId>serenity-core</artifactId>
       
<version>${serenity.version}</version>
   
</dependency>
   
<dependency>
       
<groupId>net.serenity-bdd</groupId>
       
<artifactId>serenity-junit</artifactId>
       
<version>${serenity.version}</version>
   
</dependency>
   
<dependency>
       
<groupId>net.serenity-bdd</groupId>
       
<artifactId>serenity-jbehave</artifactId>
       
<version>${serenity.jbehave.version}</version>
   
</dependency>
   
<dependency>
       
<groupId>org.slf4j</groupId>
       
<artifactId>slf4j-simple</artifactId>
       
<version>1.7.24</version>
   
</dependency>
   
<dependency>
       
<groupId>org.easytesting</groupId>
       
<artifactId>fest-assert</artifactId>
       
<version>1.4</version>
   
</dependency>
   
<dependency>
       
<groupId>junit</groupId>
       
<artifactId>junit</artifactId>
       
<version>4.12</version>
       
<scope>test</scope>
   
</dependency>
</dependencies>
<build>
   
<plugins>

       
<plugin>
           
<groupId>org.apache.maven.plugins</groupId>
           
<artifactId>maven-surefire-plugin</artifactId>
           
<version>2.19.1</version>
           
<configuration>
               
<skip>false</skip>
           
</configuration>
       
</plugin>
       
<plugin>
           
<artifactId>maven-failsafe-plugin</artifactId>
           
<version>2.19.1</version>
           
<configuration>
               
<includes>
                   
<include>**/*Test.java</include>
                   
<include>**/Test*.java</include>
                   
<include>**/When*.java</include>
                   
<include>**/*Suite.java</include>
               
</includes>
               
<argLine>-Xmx512m</argLine>
               
<systemPropertyVariables>
                   
<serenity.browser.maximize>true</serenity.browser.maximize>
                   
<webdriver.ie.driver>src/test/resources/drivers/IEDriverServer.exe</webdriver.ie.driver>
                   
<webdriver.chrome.driver>src/test/resources/drivers/chromedriver.exe</webdriver.chrome.driver>
                   
<webdriver.gecko.driver>src/test/resources/drivers/geckodriver.exe</webdriver.gecko.driver>
                   
<webdriver.driver>${driver}</webdriver.driver>
               
</systemPropertyVariables>
           
</configuration>
           
<executions>
               
<execution>
                   
<goals>
                       
<goal>integration-test</goal>
                       
<goal>verify</goal>
                   
</goals>
               
</execution>
           
</executions>
       
</plugin>
       
<plugin>
           
<groupId>org.apache.maven.plugins</groupId>
           
<artifactId>maven-compiler-plugin</artifactId>
           
<version>3.6.1</version>
       
</plugin>
       
<plugin>
           
<groupId>org.apache.maven.plugins</groupId>
           
<artifactId>maven-javadoc-plugin</artifactId>
           
<version>2.10.4</version>
       
</plugin>
       
<plugin>
           
<groupId>net.serenity-bdd.maven.plugins</groupId>
           
<artifactId>serenity-maven-plugin</artifactId>
           
<version>${serenity.version}</version>
           
<executions>
               
<execution>
                   
<id>serenity-reports</id>
                   
<phase>post-integration-test</phase>
                   
<goals>
                       
<goal>aggregate</goal>
                   
</goals>
               
</execution>
           
</executions>
       
</plugin>
   
</plugins>
</build>


and place where I want to blur
package bdd_tests.steps;

import bdd_tests.pages.LoginPage;
import net.thucydides.core.annotations.BlurScreenshots;
import net.thucydides.core.annotations.Step;
import net.thucydides.core.screenshots.BlurLevel;
import net.thucydides.core.steps.ScenarioSteps;

public class BuddyBetSteps extends ScenarioSteps {

   
LoginPage loginPage;

   
@Step
    public void openLoginPage() {
       
loginPage.open();
   
}

   
@Step
    @BlurScreenshots(BlurLevel.HEAVY)
   
public void clickLogin() {
       
loginPage.clickLogin();
   
}
}

I'm also confused about the imports. thucydidechange policy some time ago. Why I see net.thucydides.core instead of serenity?
Why annotation doesn't take effect?

Thanks for help in advance
Przemek
Reply all
Reply to author
Forward
0 new messages