11package browserstack ;
22
3+ import java .net .MalformedURLException ;
4+
5+ import org .openqa .selenium .WebDriver ;
36import org .testng .annotations .*;
47
8+ import browserstack .driverconfig .Platform ;
9+ import browserstack .driverconfig .WebDriverFactory ;
510import browserstack .stepdefs .BaseTest ;
611import browserstack .utils .AllureReportConfigurationSetup ;
712import io .cucumber .java .Before ;
1217import io .cucumber .testng .TestNGCucumberRunner ;
1318
1419@ CucumberOptions (features = "src/test/resources/com/browserstack" , glue = "browserstack.stepdefs" )
15- public class ParallelTestRunner extends BaseTest {
20+ public class TestRunner {
21+
22+ private WebDriverFactory webDriverFactory = new WebDriverFactory ();
23+ private Platform platform = new Platform ();
24+ private WebDriver webDriver ;
25+
26+
27+
1628 private TestNGCucumberRunner testNGCucumberRunner ;
29+ private String testMethodName ;
1730
1831 @ BeforeSuite
1932 public void setupReport ()
@@ -26,6 +39,22 @@ public void setUpClass() {
2639 testNGCucumberRunner = new TestNGCucumberRunner (this .getClass ());
2740
2841 }
42+
43+
44+
45+
46+ @ BeforeMethod
47+ public WebDriver createDriver () throws MalformedURLException {
48+ String [] specificCapabilities = new String [0 ];
49+ if (this .webDriver == null ) {
50+ this .webDriver = this .webDriverFactory .createWebDriverForPlatform (this .platform ,
51+ this .testMethodName ,
52+ specificCapabilities );
53+ }
54+ return this .webDriver ;
55+ }
56+
57+
2958
3059 @ Test (groups = "cucumber" , description = "Runs Cucumber Feature" , dataProvider = "scenarios" )
3160 public void feature (PickleWrapper pickleWrapper , FeatureWrapper featureWrapper ) {
0 commit comments