From ab567aa11b4f9afcd6c8d0d2135d4e81a6e4d364 Mon Sep 17 00:00:00 2001
From: anttil <anttil>
Date: Wed, 3 Oct 2012 12:03:00 +0000
Subject: [PATCH] SWE-2 / SP-314 : Broke tests to multiple suites

SVN: 26967
---
 .../application/GuiApplicationRunner.java     | 21 ++++++-
 .../uitest/infra/dsl/SeleniumTest.java        | 59 ++++---------------
 .../uitest/infra/webdriver/PageProxy.java     | 10 ++++
 .../authentication/AuthenticationTest.java    |  2 -
 .../uitest/suite/main/DataSetTest.java        |  5 +-
 .../uitest/suite/main/ExperimentTest.java     |  5 +-
 .../uitest/suite/main/ExperimentTypeTest.java |  5 +-
 .../uitest/suite/main/MainSuiteTest.java      | 47 +++++++++++++++
 .../uitest/suite/main/ProjectTest.java        |  5 +-
 .../main/PropertyTypeAssignmentTest.java      |  5 +-
 .../uitest/suite/main/PropertyTypeTest.java   |  5 +-
 .../openbis/uitest/suite/main/SampleTest.java |  5 +-
 .../uitest/suite/main/SampleTypeTest.java     |  5 +-
 .../openbis/uitest/suite/main/SpaceTest.java  |  5 +-
 .../uitest/suite/main/VocabularyTest.java     |  5 +-
 .../uitest/suite/sprint/SprintSuiteTest.java  | 47 +++++++++++++++
 .../uitest/suite/sprint/SprintTest.java       |  5 +-
 17 files changed, 146 insertions(+), 95 deletions(-)
 create mode 100644 ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/MainSuiteTest.java
 create mode 100644 ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/sprint/SprintSuiteTest.java

diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/application/GuiApplicationRunner.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/application/GuiApplicationRunner.java
index e0a4e8ccba8..8e423c28685 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/application/GuiApplicationRunner.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/application/GuiApplicationRunner.java
@@ -22,6 +22,7 @@ import java.util.concurrent.TimeUnit;
 import org.openqa.selenium.NoSuchElementException;
 
 import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
+import ch.systemsx.cisd.openbis.uitest.infra.screenshot.ScreenShotter;
 import ch.systemsx.cisd.openbis.uitest.infra.uid.UidGenerator;
 import ch.systemsx.cisd.openbis.uitest.infra.webdriver.PageProxy;
 import ch.systemsx.cisd.openbis.uitest.page.dialog.AddExperimentTypeDialog;
@@ -78,12 +79,28 @@ public class GuiApplicationRunner implements ApplicationRunner
 
     private UidGenerator uid;
 
-    public GuiApplicationRunner(PageProxy proxy, UidGenerator uid)
+    public GuiApplicationRunner(UidGenerator uid)
     {
-        this.proxy = proxy;
+        this.proxy = new PageProxy(new ScreenShotter()
+            {
+                @Override
+                public void screenshot()
+                {
+                }
+            });
         this.uid = uid;
     }
 
+    public void setScreenShotter(ScreenShotter shotter)
+    {
+        proxy.setScreenShotter(shotter);
+    }
+
+    public void screenshot()
+    {
+        proxy.screenshot();
+    }
+
     @Override
     public String uid()
     {
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/dsl/SeleniumTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/dsl/SeleniumTest.java
index 247f47307d2..5ab54dcfb36 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/dsl/SeleniumTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/dsl/SeleniumTest.java
@@ -32,10 +32,8 @@ import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.firefox.FirefoxDriver;
 import org.testng.annotations.AfterMethod;
 import org.testng.annotations.AfterSuite;
-import org.testng.annotations.AfterTest;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.BeforeSuite;
-import org.testng.annotations.BeforeTest;
 
 import ch.systemsx.cisd.openbis.uitest.infra.application.ApplicationRunner;
 import ch.systemsx.cisd.openbis.uitest.infra.application.GuiApplicationRunner;
@@ -50,7 +48,6 @@ import ch.systemsx.cisd.openbis.uitest.infra.screenshot.FileScreenShotter;
 import ch.systemsx.cisd.openbis.uitest.infra.screenshot.ScreenShotter;
 import ch.systemsx.cisd.openbis.uitest.infra.uid.DictionaryUidGenerator;
 import ch.systemsx.cisd.openbis.uitest.infra.uid.UidGenerator;
-import ch.systemsx.cisd.openbis.uitest.infra.webdriver.PageProxy;
 import ch.systemsx.cisd.openbis.uitest.page.tab.BrowserRow;
 import ch.systemsx.cisd.openbis.uitest.page.tab.RegisterSample;
 import ch.systemsx.cisd.openbis.uitest.page.tab.SampleDetails;
@@ -91,11 +88,7 @@ public abstract class SeleniumTest
 
     private static UidGenerator uid;
 
-    private PageProxy pageProxy;
-
-    private ScreenShotter shotter;
-
-    private GuiApplicationRunner openbis;
+    private static GuiApplicationRunner openbis;
 
     private static ApplicationRunner openbisApi;
 
@@ -147,16 +140,8 @@ public abstract class SeleniumTest
 
         uid = new DictionaryUidGenerator(new File("resource/corncob_lowercase.txt"));
         openbisApi = new PublicApiApplicationRunner(asUrl, dssUrl, uid);
-    }
+        openbis = new GuiApplicationRunner(uid);
 
-    public static void setImplicitWait(long amount, TimeUnit unit)
-    {
-        driver.manage().timeouts().implicitlyWait(amount, unit);
-    }
-
-    public static void setImplicitWaitToDefault()
-    {
-        driver.manage().timeouts().implicitlyWait(IMPLICIT_WAIT, TimeUnit.SECONDS);
     }
 
     @AfterSuite
@@ -165,54 +150,34 @@ public abstract class SeleniumTest
         driver.quit();
     }
 
-    @BeforeTest(groups =
-        { "login-admin", "sprint-test" })
-    public void loginAsAdmin()
+    public static void setImplicitWait(long amount, TimeUnit unit)
     {
-        System.out.println("LOGIN");
-        this.openbis = new GuiApplicationRunner(new PageProxy(new ScreenShotter()
-            {
-                @Override
-                public void screenshot()
-                {
-                }
-            }), uid);
-        openbis.login(ADMIN_USER, ADMIN_PASSWORD);
-        // this is because of BIS-184
-        openbis.browseToSampleBrowser().allSpaces();
+        driver.manage().timeouts().implicitlyWait(amount, unit);
+    }
 
-        openbisApi.login(ADMIN_USER, ADMIN_PASSWORD);
+    public static void setImplicitWaitToDefault()
+    {
+        driver.manage().timeouts().implicitlyWait(IMPLICIT_WAIT, TimeUnit.SECONDS);
     }
 
-    @AfterTest(groups =
-        { "login-admin", "sprint-test" })
     public void logout()
     {
-        System.out.println("LOGOUT!");
-        this.openbis = new GuiApplicationRunner(new PageProxy(new ScreenShotter()
-            {
-                @Override
-                public void screenshot()
-                {
-                }
-            }), uid);
         openbis.logout();
     }
 
     @BeforeMethod(alwaysRun = true)
     public void initPageProxy(Method method)
     {
-        this.shotter =
+        ScreenShotter shotter =
                 new FileScreenShotter((TakesScreenshot) driver, "targets/dist/"
                         + this.getClass().getSimpleName() + "/" + method.getName());
-        this.pageProxy = new PageProxy(shotter);
-        this.openbis = new GuiApplicationRunner(this.pageProxy, uid);
+        openbis.setScreenShotter(shotter);
     }
 
     @AfterMethod(alwaysRun = true)
     public void takeScreenShot() throws IOException
     {
-        shotter.screenshot();
+        openbis.screenshot();
     }
 
     private void delete(File f)
@@ -254,7 +219,7 @@ public abstract class SeleniumTest
     public RegisterSample sampleRegistrationPageFor(SampleType type)
     {
         openbis.browseToRegisterSample().selectSampleType(type);
-        return pageProxy.get(RegisterSample.class);
+        return assumePage(RegisterSample.class);
     }
 
     public String loggedInAs()
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/webdriver/PageProxy.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/webdriver/PageProxy.java
index 557447b710f..4aa7c2642ab 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/webdriver/PageProxy.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/infra/webdriver/PageProxy.java
@@ -111,4 +111,14 @@ public class PageProxy
             throw new RuntimeException(e);
         }
     }
+
+    public void setScreenShotter(ScreenShotter shotter)
+    {
+        this.shotter = shotter;
+    }
+
+    public void screenshot()
+    {
+        shotter.screenshot();
+    }
 }
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/authentication/AuthenticationTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/authentication/AuthenticationTest.java
index ad22bab8352..95c8217d08e 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/authentication/AuthenticationTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/authentication/AuthenticationTest.java
@@ -11,8 +11,6 @@ import ch.systemsx.cisd.openbis.uitest.page.menu.AdminMenu;
 import ch.systemsx.cisd.openbis.uitest.page.menu.TopBar;
 import ch.systemsx.cisd.openbis.uitest.page.tab.RoleAssignmentBrowser;
 
-@Test(groups =
-    { "no-login" })
 public class AuthenticationTest extends SeleniumTest
 {
 
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/DataSetTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/DataSetTest.java
index 876579c6732..a985c576665 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/DataSetTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/DataSetTest.java
@@ -18,7 +18,6 @@ package ch.systemsx.cisd.openbis.uitest.suite.main;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.DataSet;
 import ch.systemsx.cisd.openbis.uitest.type.Experiment;
 import ch.systemsx.cisd.openbis.uitest.type.Sample;
@@ -26,9 +25,7 @@ import ch.systemsx.cisd.openbis.uitest.type.Sample;
 /**
  * @author anttil
  */
-@Test(groups =
-    { "login-admin" })
-public class DataSetTest extends SeleniumTest
+public class DataSetTest extends MainSuiteTest
 {
 
     @Test(enabled = false)
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ExperimentTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ExperimentTest.java
index e406f65f55f..0c918c1fe12 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ExperimentTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ExperimentTest.java
@@ -20,7 +20,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.Experiment;
 import ch.systemsx.cisd.openbis.uitest.type.Project;
 import ch.systemsx.cisd.openbis.uitest.type.Sample;
@@ -29,9 +28,7 @@ import ch.systemsx.cisd.openbis.uitest.type.Space;
 /**
  * @author anttil
  */
-@Test(groups =
-    { "login-admin" })
-public class ExperimentTest extends SeleniumTest
+public class ExperimentTest extends MainSuiteTest
 {
 
     @Test
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ExperimentTypeTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ExperimentTypeTest.java
index 3df66a899ac..be4b3c6d688 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ExperimentTypeTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ExperimentTypeTest.java
@@ -4,12 +4,9 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.ExperimentType;
 
-@Test(groups =
-    { "login-admin" })
-public class ExperimentTypeTest extends SeleniumTest
+public class ExperimentTypeTest extends MainSuiteTest
 {
 
     @Test
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/MainSuiteTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/MainSuiteTest.java
new file mode 100644
index 00000000000..4fb35430196
--- /dev/null
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/MainSuiteTest.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2012 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.uitest.suite.main;
+
+import org.testng.annotations.AfterTest;
+import org.testng.annotations.BeforeTest;
+
+import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
+import ch.systemsx.cisd.openbis.uitest.page.menu.BrowseMenu;
+import ch.systemsx.cisd.openbis.uitest.page.menu.TopBar;
+import ch.systemsx.cisd.openbis.uitest.page.tab.SampleBrowser;
+
+/**
+ * @author anttil
+ */
+public abstract class MainSuiteTest extends SeleniumTest
+{
+    @BeforeTest
+    public void before()
+    {
+        login(ADMIN_USER, ADMIN_PASSWORD);
+        // this is because of BIS-184
+        assumePage(TopBar.class).browse();
+        assumePage(BrowseMenu.class).samples();
+        assumePage(SampleBrowser.class).allSpaces();
+    }
+
+    @AfterTest
+    public void after()
+    {
+        logout();
+    }
+}
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ProjectTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ProjectTest.java
index b11ffc657ab..9fd1a856556 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ProjectTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/ProjectTest.java
@@ -4,12 +4,9 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.Project;
 
-@Test(groups =
-    { "login-admin" })
-public class ProjectTest extends SeleniumTest
+public class ProjectTest extends MainSuiteTest
 {
 
     @Test
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/PropertyTypeAssignmentTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/PropertyTypeAssignmentTest.java
index 30ab5f44293..705a08d90a6 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/PropertyTypeAssignmentTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/PropertyTypeAssignmentTest.java
@@ -20,7 +20,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.PropertyType;
 import ch.systemsx.cisd.openbis.uitest.type.PropertyTypeAssignment;
 import ch.systemsx.cisd.openbis.uitest.type.Sample;
@@ -29,9 +28,7 @@ import ch.systemsx.cisd.openbis.uitest.type.SampleType;
 /**
  * @author anttil
  */
-@Test(groups =
-    { "login-admin" })
-public class PropertyTypeAssignmentTest extends SeleniumTest
+public class PropertyTypeAssignmentTest extends MainSuiteTest
 {
     @Test
     public void newPropertyTypeAssignmentIsListedInPropertyTypeAssignmentBrowser() throws Exception
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/PropertyTypeTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/PropertyTypeTest.java
index c9e19480c51..465bcbcf2ff 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/PropertyTypeTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/PropertyTypeTest.java
@@ -20,15 +20,12 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.PropertyType;
 
 /**
  * @author anttil
  */
-@Test(groups =
-    { "login-admin" })
-public class PropertyTypeTest extends SeleniumTest
+public class PropertyTypeTest extends MainSuiteTest
 {
     @Test
     public void newPropertyTypeIsListedInPropertyTypeBrowser() throws Exception
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SampleTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SampleTest.java
index efac6d85932..613d87c1cab 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SampleTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SampleTest.java
@@ -20,7 +20,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.PropertyType;
 import ch.systemsx.cisd.openbis.uitest.type.Sample;
 import ch.systemsx.cisd.openbis.uitest.type.SampleType;
@@ -29,9 +28,7 @@ import ch.systemsx.cisd.openbis.uitest.type.Vocabulary;
 /**
  * @author anttil
  */
-@Test(groups =
-    { "login-admin" })
-public class SampleTest extends SeleniumTest
+public class SampleTest extends MainSuiteTest
 {
     @Test
     public void newSampleIsListedInSampleBrowser() throws Exception
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SampleTypeTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SampleTypeTest.java
index 18662623aa5..0d058598340 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SampleTypeTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SampleTypeTest.java
@@ -20,16 +20,13 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.page.dialog.AddSampleTypeDialog;
 import ch.systemsx.cisd.openbis.uitest.type.SampleType;
 
 /**
  * @author anttil
  */
-@Test(groups =
-    { "login-admin" })
-public class SampleTypeTest extends SeleniumTest
+public class SampleTypeTest extends MainSuiteTest
 {
 
     @Test
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SpaceTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SpaceTest.java
index 4c5e88d7bd6..d8e8f5858de 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SpaceTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/SpaceTest.java
@@ -4,12 +4,9 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.Space;
 
-@Test(groups =
-    { "login-admin" })
-public class SpaceTest extends SeleniumTest
+public class SpaceTest extends MainSuiteTest
 {
 
     @Test
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/VocabularyTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/VocabularyTest.java
index 5e7d349f75b..de7fba7865b 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/VocabularyTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/main/VocabularyTest.java
@@ -4,12 +4,9 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.type.Vocabulary;
 
-@Test(groups =
-    { "login-admin" })
-public class VocabularyTest extends SeleniumTest
+public class VocabularyTest extends MainSuiteTest
 {
 
     @Test
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/sprint/SprintSuiteTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/sprint/SprintSuiteTest.java
new file mode 100644
index 00000000000..745f16ee88d
--- /dev/null
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/sprint/SprintSuiteTest.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2012 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.uitest.suite.sprint;
+
+import org.testng.annotations.AfterTest;
+import org.testng.annotations.BeforeTest;
+
+import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
+import ch.systemsx.cisd.openbis.uitest.page.menu.BrowseMenu;
+import ch.systemsx.cisd.openbis.uitest.page.menu.TopBar;
+import ch.systemsx.cisd.openbis.uitest.page.tab.SampleBrowser;
+
+/**
+ * @author anttil
+ */
+public abstract class SprintSuiteTest extends SeleniumTest
+{
+    @BeforeTest
+    public void before()
+    {
+        login(ADMIN_USER, ADMIN_PASSWORD);
+        // this is because of BIS-184
+        assumePage(TopBar.class).browse();
+        assumePage(BrowseMenu.class).samples();
+        assumePage(SampleBrowser.class).allSpaces();
+    }
+
+    @AfterTest
+    public void after()
+    {
+        logout();
+    }
+}
diff --git a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/sprint/SprintTest.java b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/sprint/SprintTest.java
index 301616cfe4d..641d3e58a9f 100644
--- a/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/sprint/SprintTest.java
+++ b/ui-test/source/java/ch/systemsx/cisd/openbis/uitest/suite/sprint/SprintTest.java
@@ -20,7 +20,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.uitest.infra.dsl.SeleniumTest;
 import ch.systemsx.cisd.openbis.uitest.page.dialog.AddSampleTypeDialog;
 import ch.systemsx.cisd.openbis.uitest.page.menu.AdminMenu;
 import ch.systemsx.cisd.openbis.uitest.page.menu.TopBar;
@@ -37,9 +36,7 @@ import ch.systemsx.cisd.openbis.uitest.type.Vocabulary;
 /**
  * @author anttil
  */
-@Test(groups =
-    { "sprint-test" })
-public class SprintTest extends SeleniumTest
+public class SprintTest extends SprintSuiteTest
 {
 
     @Test
-- 
GitLab