package org.sakuli.javaDSL.service; import net.sf.sahi.client.Browser; import net.sf.sahi.config.Configuration; import org.sakuli.datamodel.properties.SahiProxyProperties; import org.sakuli.datamodel.properties.TestSuiteProperties; import org.sakuli.exceptions.SakuliInitException; import org.sakuli.services.InitializingService; import org.sakuli.starter.SahiConnector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * @author tschneck * Date: 07.05.15 */ @Component public class SahiIntializingServiceImpl implements InitializingService, SahiInitializingService { private static final Logger logger = LoggerFactory.getLogger(SahiIntializingServiceImpl.class); @Autowired private SahiProxyProperties sahiProxyProperties; @Autowired private SahiConnector sahiConnector; @Autowired private TestSuiteProperties testSuiteProperties; @Override public void initTestSuite() throws SakuliInitException { if (!testSuiteProperties.isUiTest()) { sahiConnector.init(); Configuration.initJava( sahiProxyProperties.getSahiHomeFolder().toString(), sahiProxyProperties.getSahiConfigFolder().toString() ); } } @Override public Browser getBrowser() { if (testSuiteProperties.isUiTest()) { return null; } logger.info("start sahi controlled browser '{}'", testSuiteProperties.getBrowserName()); Browser browser = new Browser(testSuiteProperties.getBrowserName()); browser.open(); browser.navigateTo("http://sahi.example.com/_s_/dyn/Driver_initialized"); return browser; } @Override public int getServicePriority() { return 50; } }