Skip to content

Commit cacd858

Browse files
Abhi Singhfrancisf
authored andcommitted
added comments and improved code quality
1 parent ea2fdb6 commit cacd858

File tree

3 files changed

+18
-25
lines changed

3 files changed

+18
-25
lines changed

src/test/java/com/browserstack/RunWebDriverCucumberTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ public void feature(PickleWrapper pickleWrapper, FeatureWrapper featureWrapper,
6060
@DataProvider(name = "scenarios", parallel = true)
6161
public Iterator<Object[]> scenarios() {
6262
Object[][] scenarios = testNGCucumberRunner.provideScenarios();
63-
return new LazyInitWebDriverIterator(true, scenarios);
63+
//Get Iterator of Object arrays consisting PickleWrapper, FeatureWrapper and ManagedWebDriver
64+
return new LazyInitWebDriverIterator(scenarios);
6465
}
6566

6667
@AfterClass(alwaysRun = true)

src/test/java/com/browserstack/webdriver/LazyInitWebDriverIterator.java

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,72 +8,65 @@
88
import java.util.stream.Collectors;
99

1010
import org.json.simple.JSONObject;
11-
import org.openqa.selenium.WebDriver;
1211

1312
public class LazyInitWebDriverIterator implements Iterator<Object[]> {
1413
private final String testMethodName;
1514
private final List<JSONObject> platforms;
1615
private final List<Object[]> testParams;
17-
private final boolean createManagedWebDriver;
18-
private int paramIdx = 0;
16+
private int paramIndex = 0;
1917

20-
public LazyInitWebDriverIterator(Boolean createManagedWebDriver, Object[][] testParams) {
18+
public LazyInitWebDriverIterator(Object[][] testParams) {
2119
this.testMethodName = "";
2220
this.platforms = WebDriverFactory.getInstance().getPlatforms();
23-
this.createManagedWebDriver = createManagedWebDriver;
2421
List<Object[]> testParamsList = new ArrayList();
2522
if (testParams != null) {
2623
testParamsList = (List)Arrays.stream(testParams).collect(Collectors.toList());
2724
}
2825

26+
//Create list of combinations of Scenarios and Platforms
2927
this.testParams = this.populateTestParams((List)testParamsList);
3028
}
3129

3230
private List<Object[]> populateTestParams(List<Object[]> testParams) {
33-
int idx = 0;
31+
int index = 0;
3432
ArrayList tempTestParams = new ArrayList();
3533

3634
do {
37-
Object[] testParam = (Object[])testParams.get(idx);
35+
Object[] testParam = (Object[])testParams.get(index);
3836
if (testParam == null) {
3937
testParam = new Object[0];
4038
}
4139

42-
Iterator var5 = this.platforms.iterator();
40+
Iterator platformsIterator = this.platforms.iterator();
4341

44-
while(var5.hasNext()) {
45-
JSONObject platform = (JSONObject)var5.next();
42+
while(platformsIterator.hasNext()) {
43+
JSONObject platform = (JSONObject)platformsIterator.next();
4644
Object[] paramsWithPlatform = Arrays.copyOf(testParam, testParam.length + 1);
4745
paramsWithPlatform[paramsWithPlatform.length - 1] = platform;
4846
tempTestParams.add(paramsWithPlatform);
4947
}
5048

51-
++idx;
52-
} while(idx < testParams.size());
49+
++index;
50+
} while(index < testParams.size());
5351

5452
return tempTestParams;
5553
}
5654

5755
public boolean hasNext() {
58-
return this.paramIdx < this.testParams.size();
56+
return this.paramIndex < this.testParams.size();
5957
}
6058

6159
public Object[] next() {
62-
if (this.paramIdx >= this.testParams.size()) {
60+
if (this.paramIndex >= this.testParams.size()) {
6361
throw new NoSuchElementException("No More Platforms configured to create WebDriver for.");
6462
} else {
65-
Object[] methodTestParams = (Object[])this.testParams.get(this.paramIdx++);
63+
Object[] methodTestParams = (Object[])this.testParams.get(this.paramIndex++);
6664
if (methodTestParams[methodTestParams.length - 1] instanceof JSONObject) {
6765
JSONObject platform = (JSONObject)methodTestParams[methodTestParams.length - 1];
68-
if (this.createManagedWebDriver) {
69-
ManagedWebDriver managedWebDriver = new ManagedWebDriver(this.testMethodName, platform);
70-
methodTestParams[methodTestParams.length - 1] = managedWebDriver;
71-
} else {
72-
WebDriver webDriver = WebDriverFactory.getInstance().createWebDriverForPlatform(platform, this.testMethodName);
73-
methodTestParams[methodTestParams.length - 1] = webDriver;
74-
}
66+
ManagedWebDriver managedWebDriver = new ManagedWebDriver(this.testMethodName, platform);
67+
methodTestParams[methodTestParams.length - 1] = managedWebDriver;
7568
}
76-
69+
//return an Object array consisting PickleWrapper, FeatureWrapper and ManagedWebDriver
7770
return methodTestParams;
7871
}
7972
}

src/test/java/com/browserstack/webdriver/WebDriverFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ private WebDriverFactory() {
2727

2828
public static WebDriverFactory getInstance() {
2929
if (instance == null) {
30-
Class var0 = WebDriverFactory.class;
3130
synchronized(WebDriverFactory.class) {
3231
if (instance == null) {
3332
instance = new WebDriverFactory();

0 commit comments

Comments
 (0)