// Path: SenBotRunner/src/main/java/com/gfk/senbot/framework/cucumber/CucumberTestBase.java
// public class CucumberTestBase {
// 	
// 	private static Logger log = LoggerFactory.getLogger(CucumberTestBase.class);
// 
//     /**
//      * Ok, this is an ugly hack so our {@link ParameterizedCucumber} runner extending {@link Parameterized} 
//      * defined in the {@link RunWith} annotation will not complain  about "No runnable methods"
//      */
//     @Test
//     @Ignore
//     public void test() {
//         assertTrue(true);
//     }
// 
//     /**
//      * Detect if the test is {@link RunWith} annotated with typedef {@link ParameterizedCucumber}, if not, instantiate the {@link TestEnvironment}. 
//      * 
//      * @throws Exception
//      */
//     @BeforeClass
//     public static void setUpTest() throws Exception {
//     	
//     	log.debug("@BeforeClass initiated");
//     	
//         SeleniumManager seleniumManager = SenBotContext.getSenBotContext().getSeleniumManager();
//         TestEnvironment associatedEnvironment = seleniumManager.getAssociatedTestEnvironment();
//         if (associatedEnvironment == null) {
//             TestEnvironment environment = seleniumManager.getSeleniumTestEnvironments().get(0);
//             seleniumManager.associateTestEnvironment(environment);
//         }
//     }
// 
//     /**
//      * Cleanup the SenBot instance
//      * @throws Exception
//      */
//     @AfterClass
//     public static void tearDown() throws Exception {
//     	
//     	SeleniumManager seleniumManager = SenBotContext.getSenBotContext().getSeleniumManager();
//     	if(seleniumManager.getAssociatedTestEnvironment() != null) {
//     		seleniumManager.deAssociateTestEnvironment();
//     	}
//     	
//         SenBotContext.cleanupSenBot();
//     }
// 
//     /**
//      * Picks the browsers on which to run the tests
//      */
//     @Parameters
//     public static List<Object[]> getParameters() throws IOException {
//         SeleniumManager seleniumManager = SenBotContext.getSenBotContext().getSeleniumManager();
//         final List<TestEnvironment> seleniumTestEnvironments = seleniumManager.getSeleniumTestEnvironments();
// 
//         List<Object[]> params = new ArrayList<Object[]>() {
// 
//             /**
//              * By calling the underlying seleniumTestEnvironment.get(index) we make sure our
//              * globally available test environment matches that of the one returned wrapped in the Object[]
//              */
//             @Override
//             public Object[] get(int index) {
//                 seleniumTestEnvironments.get(index);
//                 return super.get(index);
//             }
//         };
// 
//         for (TestEnvironment env : seleniumTestEnvironments) {
//             params.add(new Object[]{env});
//         }
// 
//         return params;
//     }
// 
// }


import org.junit.runner.RunWith;
import com.gfk.senbot.framework.cucumber.CucumberTestBase;
import cucumber.api.junit.Cucumber;
package com.gfk.senbot.framework.cucumber.tests;




@RunWith(Cucumber.class)
//@CucumberOptions
@Cucumber.Options(
		format={"json", "json:target/test-results/result.json"},
		monochrome = true,
		glue = {"com.gfk"},
		features = "src/test/resources/features",
        tags = {"~@ignore", "~@to-implement", "~@random-failure", "~@broken"}, 
		strict = true)
// Path: SenBotRunner/src/main/java/com/gfk/senbot/framework/cucumber/CucumberTestBase.java
// public class CucumberTestBase {
// 	
// 	private static Logger log = LoggerFactory.getLogger(CucumberTestBase.class);
// 
//     /**
//      * Ok, this is an ugly hack so our {@link ParameterizedCucumber} runner extending {@link Parameterized} 
//      * defined in the {@link RunWith} annotation will not complain  about "No runnable methods"
//      */
//     @Test
//     @Ignore
//     public void test() {
//         assertTrue(true);
//     }
// 
//     /**
//      * Detect if the test is {@link RunWith} annotated with typedef {@link ParameterizedCucumber}, if not, instantiate the {@link TestEnvironment}. 
//      * 
//      * @throws Exception
//      */
//     @BeforeClass
//     public static void setUpTest() throws Exception {
//     	
//     	log.debug("@BeforeClass initiated");
//     	
//         SeleniumManager seleniumManager = SenBotContext.getSenBotContext().getSeleniumManager();
//         TestEnvironment associatedEnvironment = seleniumManager.getAssociatedTestEnvironment();
//         if (associatedEnvironment == null) {
//             TestEnvironment environment = seleniumManager.getSeleniumTestEnvironments().get(0);
//             seleniumManager.associateTestEnvironment(environment);
//         }
//     }
// 
//     /**
//      * Cleanup the SenBot instance
//      * @throws Exception
//      */
//     @AfterClass
//     public static void tearDown() throws Exception {
//     	
//     	SeleniumManager seleniumManager = SenBotContext.getSenBotContext().getSeleniumManager();
//     	if(seleniumManager.getAssociatedTestEnvironment() != null) {
//     		seleniumManager.deAssociateTestEnvironment();
//     	}
//     	
//         SenBotContext.cleanupSenBot();
//     }
// 
//     /**
//      * Picks the browsers on which to run the tests
//      */
//     @Parameters
//     public static List<Object[]> getParameters() throws IOException {
//         SeleniumManager seleniumManager = SenBotContext.getSenBotContext().getSeleniumManager();
//         final List<TestEnvironment> seleniumTestEnvironments = seleniumManager.getSeleniumTestEnvironments();
// 
//         List<Object[]> params = new ArrayList<Object[]>() {
// 
//             /**
//              * By calling the underlying seleniumTestEnvironment.get(index) we make sure our
//              * globally available test environment matches that of the one returned wrapped in the Object[]
//              */
//             @Override
//             public Object[] get(int index) {
//                 seleniumTestEnvironments.get(index);
//                 return super.get(index);
//             }
//         };
// 
//         for (TestEnvironment env : seleniumTestEnvironments) {
//             params.add(new Object[]{env});
//         }
// 
//         return params;
//     }
// 
// }


// Path: SenBotRunner/src/test/java/com/gfk/senbot/framework/cucumber/tests/CucumberTestBaseTest.java
import org.junit.runner.RunWith;
import com.gfk.senbot.framework.cucumber.CucumberTestBase;
import cucumber.api.junit.Cucumber;

package com.gfk.senbot.framework.cucumber.tests;




@RunWith(Cucumber.class)
//@CucumberOptions
@Cucumber.Options(
		format={"json", "json:target/test-results/result.json"},
		monochrome = true,
		glue = {"com.gfk"},
		features = "src/test/resources/features",
        tags = {"~@ignore", "~@to-implement", "~@random-failure", "~@broken"}, 
		strict = true)
public class CucumberTestBaseTest extends CucumberTestBase {