From 675b0c1293ea192eccae4b7e3354f8f8df0828dd Mon Sep 17 00:00:00 2001 From: Jarle Hansen Date: Wed, 18 Jan 2017 18:15:15 +0100 Subject: [PATCH] added groovy delegate for the FluentSpecificationAdapter --- fluentlenium-spock/pom.xml | 4 +++ .../adapter/spock/FluentSpecification.groovy | 30 ++++++++++++++++--- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/fluentlenium-spock/pom.xml b/fluentlenium-spock/pom.xml index a6dfe39cf3..fe7574063e 100644 --- a/fluentlenium-spock/pom.xml +++ b/fluentlenium-spock/pom.xml @@ -23,6 +23,10 @@ fluentlenium-junit ${project.version} + + org.seleniumhq.selenium + selenium-api + org.spockframework spock-core diff --git a/fluentlenium-spock/src/main/groovy/org/fluentlenium/adapter/spock/FluentSpecification.groovy b/fluentlenium-spock/src/main/groovy/org/fluentlenium/adapter/spock/FluentSpecification.groovy index bdb7c4b8cb..fdd281ec81 100644 --- a/fluentlenium-spock/src/main/groovy/org/fluentlenium/adapter/spock/FluentSpecification.groovy +++ b/fluentlenium-spock/src/main/groovy/org/fluentlenium/adapter/spock/FluentSpecification.groovy @@ -2,35 +2,57 @@ package org.fluentlenium.adapter.spock import org.fluentlenium.adapter.FluentTestRunnerAdapter import org.fluentlenium.adapter.junit.FluentTestRule +import org.fluentlenium.core.domain.FluentList +import org.fluentlenium.core.domain.FluentWebElement +import org.fluentlenium.core.search.SearchFilter import org.junit.ClassRule import org.junit.Rule import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement +import org.openqa.selenium.By +import org.openqa.selenium.WebElement import spock.lang.Specification class FluentSpecification extends Specification { - protected FluentSpecificationAdapter fl = new FluentSpecificationAdapter() + @Delegate + private FluentSpecificationAdapter fl = new FluentSpecificationAdapter() + + FluentList $(List rawElements) { + return fl.$(rawElements) + } + + FluentList $(By locator, SearchFilter... filters) { + return fl.$(locator, filters) + } + + FluentList $(String selector, SearchFilter... filters) { + return fl.$(selector, filters) + } + + FluentList $(SearchFilter... filters) { + return fl.$(filters) + } @Rule public TestRule watchman = new FluentTestRule(this) { @Override void starting(Description description) { super.starting(description) - fl.specStarting(description.getTestClass(), description.getDisplayName()) + specStarting(description.getTestClass(), description.getDisplayName()) } @Override void finished(Description description) { super.finished(description) - fl.specFinished(description.getTestClass(), description.getDisplayName()) + specFinished(description.getTestClass(), description.getDisplayName()) } @Override void failed(Throwable e, Description description) { super.failed(e, description) - fl.specFailed(e, description.getTestClass(), description.getDisplayName()) + specFailed(e, description.getTestClass(), description.getDisplayName()) } }