Package org.telluriumsource.test.java

Source Code of org.telluriumsource.test.java.BaseTelluriumJavaTestCase

package org.telluriumsource.test.java;

import org.telluriumsource.component.bundle.BundleProcessor;
import org.telluriumsource.dsl.IDslContext;
import org.telluriumsource.dsl.SeleniumWrapper;
import org.telluriumsource.dsl.TelluriumApi;
import org.telluriumsource.framework.RuntimeEnvironment;
import org.telluriumsource.framework.SessionManager;
import org.telluriumsource.framework.config.CustomConfig;
import org.telluriumsource.component.connector.SeleniumConnector;
import org.telluriumsource.crosscut.i18n.IResourceBundle;
import org.telluriumsource.framework.TelluriumFramework;
import org.telluriumsource.entity.CachePolicy;
import org.telluriumsource.entity.EngineState;
import org.telluriumsource.ui.builder.UiObjectBuilder;
import org.telluriumsource.ui.builder.UiObjectBuilderRegistry;
import org.telluriumsource.util.Helper;

/**
* The base Java Testcase class for Tellurium and it will not include the before class and after class methods
* so that the TestCase can be run as in a TestSuite
*
* @author Jian Fang (John.Jian.Fang@gmail.com)
*/
public abstract class BaseTelluriumJavaTestCase {
    //custom configuration
    protected static CustomConfig customConfig = null;
//    protected IResourceBundle i18nBundle;

    protected static SeleniumConnector connector;

    protected static TelluriumFramework tellurium;

    public static void openUrl(String url) {
        connector.connectSeleniumServer();
        connector.connectUrl(url);
    }

    public static IResourceBundle getI18nResourceBundle() {
        return SessionManager.getSession().getI18nBundle();
    }

    public static void openUrlWithBrowserParameters(String url, String serverHost, int serverPort, String baseUrl, String browser, String browserOptions) {
        connector.configBrowser(serverHost, serverPort, baseUrl, browser, browserOptions);
        openUrl(url);
    }

    public static void openUrlWithBrowserParameters(String url, String serverHost, int serverPort, String browser, String browserOptions) {
        openUrlWithBrowserParameters(url, serverHost, serverPort, null, browser, browserOptions);
    }

    public static void openUrlWithBrowserParameters(String url, String serverHost, int serverPort, String browser) {
        openUrlWithBrowserParameters(url, serverHost, serverPort, null, browser, null);
    }

    public static void connectUrl(String url) {
        connector.connectUrl(url);
    }

    public static void connectSeleniumServer() {
        connector.connectSeleniumServer();
    }

    public static void disconnectSeleniumServer() {
        connector.disconnectSeleniumServer();
    }

    public static void setCustomConfig(boolean runInternally, int port, String browser,
                                       boolean useMultiWindows, String profileLocation) {
        customConfig = new CustomConfig(runInternally, port, browser, useMultiWindows, profileLocation);
    }

    public static void setCustomConfig(boolean runInternally, int port, String browser,
                                       boolean useMultiWindows, String profileLocation, String serverHost) {
        customConfig = new CustomConfig(runInternally, port, browser, useMultiWindows, profileLocation, serverHost);
    }

    public static void setCustomConfig(boolean runInternally, int port, String browser,
                                       boolean useMultiWindows, String profileLocation, String serverHost, String browserOptions) {
        customConfig = new CustomConfig(runInternally, port, browser, useMultiWindows, profileLocation, serverHost, browserOptions);
    }


  public static SeleniumConnector getCurrentConnector(){
     return (SeleniumConnector) SessionManager.getSession().getByClass(SeleniumConnector.class);
  }

  //register ui object builder
  //users can overload the builders or add new builders for new ui objects
  //by call this method
  public static void registerBuilder(String uiObjectName, UiObjectBuilder builder) {
    UiObjectBuilderRegistry registry = (UiObjectBuilderRegistry) SessionManager.getSession().getByClass(UiObjectBuilderRegistry.class);
    registry.registerBuilder(uiObjectName, builder);
  }

  public static void useMacroCmd(boolean isUse) {
    RuntimeEnvironment env = SessionManager.getSession().getEnv();
    env.setUseBundle(isUse);
  }

  public static void setMaxMacroCmd(int max) {
    RuntimeEnvironment env = SessionManager.getSession().getEnv();
    env.setMaxMacroCmd(max);
  }

  public static int getMaxMacroCmd() {
    RuntimeEnvironment env = SessionManager.getSession().getEnv();
    return env.getMaxMacroCmd();
  }

  public static void helpTest(){
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.helpTest();
  }

  public static void noTest(){
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.helpTest();
  }

  public static void useTrace(boolean isUse) {
    RuntimeEnvironment env = SessionManager.getSession().getEnv();
    env.setUseTrace(isUse);
  }

  public static void generateBugReport(boolean isUse) {
    RuntimeEnvironment env = SessionManager.getSession().getEnv();
    env.setUseBugReport(isUse);
  }

  public static void showTrace() {
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.showTrace();
  }

  public static void setEnvironment(String name, Object value) {
    RuntimeEnvironment env = SessionManager.getSession().getEnv();
    env.setEnvironmentVariable(name, value);
  }

  public static Object getEnvironment(String name) {
    RuntimeEnvironment env = SessionManager.getSession().getEnv();

    return env.getEnvironmentVariable(name);
  }

  public static void useClosestMatch(boolean isUse){
    IDslContext api = (IDslContext) SessionManager.getSession().getApi();
    if (isUse) {
      api.enableClosestMatch();
    } else {
      api.disableClosestMatch();
    }
  }

  public static void useCssSelector(boolean isUse) {
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    if (isUse) {
      wrapper.enableCssSelector();
    } else {
      wrapper.disableCssSelector();
    }
  }

  public static void cleanCache() {
    TelluriumApi api = SessionManager.getSession().getApi();
    api.cleanCache();
  }

  public static void setCacheMaxSize(int size) {
    TelluriumApi api = SessionManager.getSession().getApi();
    api.setCacheMaxSize(size);
  }

  public static int getCacheSize() {
    TelluriumApi api = SessionManager.getSession().getApi();
    return api.getCacheSize();
  }

  public static int getCacheMaxSize() {
    TelluriumApi api = SessionManager.getSession().getApi();
    return api.getCacheMaxSize();
  }

  public static String getCacheUsage() {
    TelluriumApi api = SessionManager.getSession().getApi();
    return api.getCacheUsage();
  }

  public static void useCachePolicy(CachePolicy policy) {
    TelluriumApi api = SessionManager.getSession().getApi();

    if (policy != null) {
      switch (policy) {
        case DISCARD_NEW:
          api.useDiscardNewCachePolicy();
          break;
        case DISCARD_OLD:
          api.useDiscardOldCachePolicy();
          break;
        case DISCARD_LEAST_USED:
          api.useDiscardLeastUsedCachePolicy();
          break;
        case DISCARD_INVALID:
          api.useDiscardInvalidCachePolicy();
          break;
      }
    }
  }

  public static String getCurrentCachePolicy() {
    TelluriumApi api = SessionManager.getSession().getApi();

    return api.getCurrentCachePolicy();
  }

  public static void useDefaultXPathLibrary() {
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.useDefaultXPathLibrary();
  }

  public static void useJavascriptXPathLibrary() {
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.useJavascriptXPathLibrary();
  }

  public static void useAjaxsltXPathLibrary() {
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.useAjaxsltXPathLibrary();
  }

  public static void allowNativeXpath(boolean allow) {
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.allowNativeXpath(allow);
  }

  public static void registerNamespace(String prefix, String namespace) {
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.registerNamespace(prefix, namespace);
  }

  public static String getNamespace(String prefix) {
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    return wrapper.getNamespace(prefix);
  }

  public static void addScript(String scriptContent, String scriptTagId){
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.addScript(scriptContent, scriptTagId);
  }

  public static void removeScript(String scriptTagId){
    SeleniumWrapper wrapper = SessionManager.getSession().getWrapper();
    wrapper.removeScript(scriptTagId);
  }

  public static EngineState getEngineState(){
    TelluriumApi api = SessionManager.getSession().getApi();
    return api.getEngineState();
  }

  public static void pause(int milliseconds) {
    //flush out remaining commands in the command bundle before disconnection
    BundleProcessor processor = SessionManager.getSession().getByClass(BundleProcessor.class);
    processor.flush();

    Helper.pause(milliseconds);
  }

  public static void useEngineLog(boolean isUse){
    TelluriumApi api = SessionManager.getSession().getApi();
    api.useEngineLog(isUse);
  }

    public static void useTelluriumEngine(boolean isUse) {
        TelluriumApi api = SessionManager.getSession().getApi();
        if (isUse)
            api.enableTelluriumEngine();
        else
            api.disableTelluriumEngine();
    }

  public static void dumpEnvironment(){
    System.out.println(SessionManager.getSession().getEnv().toString());
  }
}
TOP

Related Classes of org.telluriumsource.test.java.BaseTelluriumJavaTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.