/*
* License
*
* This file is part of The SeleniumFlex-API.
*
* The SeleniumFlex-API is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of
* the License, or any later version.
*
* The SeleniumFlex-API is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with The SeleniumFlex-API.
* If not, see http://www.gnu.org/licenses/
*
*/
/* Contributed by Black Pepper Software Ltd. */
package net.sourceforge.seleniumflexapi;
import java.io.FileInputStream;
import java.util.Properties;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
public abstract class AcceptanceTestBase {
static Properties properties;
static Selenium selenium;
private FlexSelenium flexSelenium;
/**
* Perform necessary initialisation prior to any test being executed.
*
* @throws Exception if initialisation fails
*/
@BeforeClass
public static void setUpClass()
throws Exception
{
properties = new Properties();
properties.load(new FileInputStream("test.properties"));
selenium = new DefaultSelenium(
properties.getProperty("selenium.serverHost"),
Integer.valueOf(properties.getProperty("selenium.serverPort")),
properties.getProperty("selenium.browserStartCommand"),
properties.getProperty("selenium.browserUrl"));
getContext().start();
}
@Before
public void setUp() throws Exception {
flexSelenium = new FlexSelenium(getContext(), properties.getProperty("application.name"));
getContext().open(properties.getProperty("selenium.browserUrl"));
}
/**
* Tidy up resources after every test has been executed.
*
* @throws Exception if the tidy up fails
*/
@AfterClass
public static void tearDownClass()
throws Exception
{
getContext().stop();
}
/**
* Retrieve the context for accessing Selenium.
*
* @return the Selenium context
*/
protected static Selenium getContext()
{
return selenium;
}
protected FlexSelenium getFlashApp() {
return flexSelenium;
}
}