Skip to content

Commit

Permalink
Updated sample projects
Browse files Browse the repository at this point in the history
  • Loading branch information
wakaleo committed Jul 24, 2015
1 parent 9c5c209 commit 35bbf06
Show file tree
Hide file tree
Showing 18 changed files with 99 additions and 13 deletions.
6 changes: 6 additions & 0 deletions cucumber-webtests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@
<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-rest-assured</artifactId>
Expand Down Expand Up @@ -112,6 +117,7 @@
<version>2.18</version>
<configuration>
<includes>
<include>**/cucumber/junit/**/*.java</include>
<include>**/cucumber/*.java</include>
</includes>
<reuseForks>true</reuseForks>
Expand Down
3 changes: 3 additions & 0 deletions cucumber-webtests/serenity.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ serenity.browser,height = 1200
serenity.browser,width = 1200
serenity.dry.run=false


serenity.test.root=net.thucydides.showcase.cucumber.junit

# How long does Serenity wait for elements that are not present on the screen to load
webdriver.timeouts.implicitlywait = 5000
serenity.take.screenshots=AFTER_EACH_STEP
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package net.thucydides.showcase.cucumber.junit.shopping_cart;

import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.*;
import net.thucydides.showcase.cucumber.model.ListingItem;
import net.thucydides.showcase.cucumber.steps.serenity.BuyerSteps;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;

@RunWith(SerenityRunner.class)
public class AddStuffToTheShoppingCartTest {
@Managed
WebDriver driver;

@Steps
BuyerSteps buyer;

@Test
public void add_a_leather_jacket_to_the_cart() {
// GIVEN
buyer.opens_home_page();
buyer.searches_by_keyword("leather jacket");
buyer.filters_by_local_region();

// WHEN
ListingItem selectedItem = buyer.selects_listing(2);
buyer.adds_current_listing_to_cart();

// THEN
buyer.should_see_item_in_cart(selectedItem);
buyer.should_see_total_including_shipping_for(selectedItem);
}
}

Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.thucydides.showcase.cucumber.pages;

import com.google.common.base.Splitter;
import net.serenitybdd.core.annotations.findby.FindBy;
import net.serenitybdd.core.pages.WebElementState;
import net.serenitybdd.core.pages.WebElementFacade;
Expand All @@ -11,6 +12,7 @@

import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

/**
Expand Down Expand Up @@ -46,10 +48,15 @@ public class ListingPage extends PageObject {

public ListingItem getDisplayedListing() {
String listingName = name.getText();
double listingPrice = Double.parseDouble(price.getText());
double listingPrice = Double.parseDouble(numericalValueIn(price.getText()));
return new ListingItem(listingName, listingPrice);
}

private String numericalValueIn(String text) {
text = text.replace("$","").replace("€","").replace("£","");
return Splitter.on(" ").trimResults().splitToList(text).get(0);
}

public void addToCart() {
dismissLocationMessage();
withAction().moveToElement($("#item-tabs")).perform();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import net.serenitybdd.core.Serenity;
import net.thucydides.core.annotations.Steps;
import net.thucydides.showcase.cucumber.model.ListingItem;
import net.thucydides.showcase.cucumber.pages.HomePage;
import net.thucydides.showcase.cucumber.steps.serenity.BuyerSteps;
import static net.thucydides.showcase.cucumber.model.SessionVariables.SELECTED_LISTING;
import static org.assertj.core.api.Assertions.assertThat;
Expand All @@ -15,8 +16,13 @@ public class DisplayProductDetailsScenarioSteps {
@Steps
BuyerSteps buyer;

HomePage homePage;

@Given("I have searched for '(.*)' in my region")
public void givenIHaveSearchedFor(String searchTerm) {

homePage.open();

buyer.opens_home_page();
buyer.searches_by_keyword(searchTerm);
buyer.filters_by_local_region();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
@version:Release-1
@version:Sprint-1.2
@issue:ETSY-101
Feature: Display product details
In order to encourage buyers to make a purchase
As a seller
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
@component:ui
@version:Release-2
@issue:ETSY-102
Feature: Search by keyword
In order for buyers to find what they are looking for more efficiently
As a seller
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
@version:Release-1
@version:Sprint-1.1
Feature: Add item to shopping cart
@issue:ETSY-104
Feature: Add an item to the shopping cart
As a buyer
I want to be able to purchase items online
So that I can get them faster
Expand Down
11 changes: 9 additions & 2 deletions jbehave-webtests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<serenity.version>1.0.49</serenity.version>
<serenity.maven.version>1.0.49</serenity.maven.version>
<serenity.version>1.0.65-SNAPSHOT</serenity.version>
<serenity.maven.version>1.0.58</serenity.maven.version>
<serenity.jbehave.version>1.0.23</serenity.jbehave.version>
<webdriver.driver>phantomjs</webdriver.driver>
</properties>
Expand Down Expand Up @@ -117,6 +117,13 @@
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.maven.version}</version>
<dependencies>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>serenity-reports</id>
Expand Down
5 changes: 3 additions & 2 deletions jbehave-webtests/serenity.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
webdriver.driver=phantomjs
webdriver.driver=firefox
serenity.project.name = Demo Project using Serenity and JBehave

serenity.use.unique.browser = true
#serenity.requirement.types = feature, story

#dashboard.excluded.tag.list=Feature,Story
#serenity.dry.run=true
serenity.browser,height = 1200
serenity.browser,width = 1200
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package net.serenitybdd.demo.steps;

import com.google.common.collect.Lists;
import net.serenitybdd.core.Serenity;
import net.serenitybdd.demo.model.Pet;
import org.jbehave.core.annotations.Alias;
import org.jbehave.core.annotations.Given;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
import net.thucydides.core.annotations.Steps;
import net.thucydides.core.util.Inflector;
import net.serenitybdd.demo.steps.serenity.BuyerSteps;
import org.jbehave.core.annotations.Alias;
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
import org.jbehave.core.annotations.*;

import java.text.ParseException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ As a store owner
I want to add a new pet to the catalog

Scenario: Add a dog
Meta:
@tag component:UI

Given I have the following pet:
|name | status |
|Fido | available |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
Display detailed information about a product

Meta:
@tag component:UI

Narrative:
In order to encourage buyers to make a purchase
As a seller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ In order for buyers to find what they are looking for more efficiently
As a seller
I want buyers to be able to search for articles by keywords

Meta:
@tag component:service

Scenario: Search for articles by keyword
Given I want to buy a wool scarf
When I search for 'wool'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ In order to make the most appropriate purchase decisions
As a buyer
I want to be able to place items I want to buy in a virtual cart before placing my order

Meta:
@tag component:UI

Scenario: Add item to cart
Given I have searched for 'wool' in my region
Expand Down
11 changes: 9 additions & 2 deletions junit-webtests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<serenity.version>1.0.58</serenity.version>
<serenity.version>1.0.65-SNAPSHOT</serenity.version>
<serenity.maven.version>1.0.58</serenity.maven.version>
<tags></tags>
</properties>
Expand Down Expand Up @@ -112,7 +112,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
Expand All @@ -122,6 +122,13 @@
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.maven.version}</version>
<dependencies>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>1.0.65-SNAPSHOT</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>serenity-reports</id>
Expand Down
2 changes: 1 addition & 1 deletion junit-webtests/serenity.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
webdriver.driver=phantomjs
serenity.project.name = Demo Project using Serenity and Cucumber
serenity.test.root=net.thucydides.showcase.junit.features
serenity.dry.run=false
serenity.dry.run=true
serenity.requirement.types=feature, story
#serenity.use.unique.browser = true

Expand Down

0 comments on commit 35bbf06

Please sign in to comment.