Skip to content

Commit cf52e19

Browse files
committed
replaced the firefox browser with chrome for all the tests
1 parent d7f250d commit cf52e19

File tree

5 files changed

+46
-32
lines changed

5 files changed

+46
-32
lines changed

src/main/java/io/github/mfaisalkhatri/drivers/DriverManager.java

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
package io.github.mfaisalkhatri.drivers;
22

3+
import static java.text.MessageFormat.format;
4+
5+
import java.net.MalformedURLException;
6+
import java.net.URL;
7+
import java.nio.file.Paths;
8+
import java.time.Duration;
9+
import java.util.HashMap;
10+
import java.util.Objects;
11+
312
import io.github.bonigarcia.wdm.WebDriverManager;
413
import io.github.mfaisalkhatri.enums.Browsers;
514
import org.apache.logging.log4j.LogManager;
@@ -10,30 +19,21 @@
1019
import org.openqa.selenium.firefox.FirefoxOptions;
1120
import org.openqa.selenium.remote.RemoteWebDriver;
1221

13-
import java.net.MalformedURLException;
14-
import java.net.URL;
15-
import java.nio.file.Paths;
16-
import java.time.Duration;
17-
import java.util.HashMap;
18-
import java.util.Objects;
19-
20-
import static java.text.MessageFormat.format;
21-
2222
/**
2323
* @author Faisal Khatri
2424
* @since 24/07/2022
2525
*/
2626
public final class DriverManager {
27-
private static final ThreadLocal<WebDriver> DRIVER = new ThreadLocal<> ();
28-
private static final String GRID_URL = "@hub.lambdatest.com/wd/hub";
29-
private static final String HUB_URL = "http://localhost:4444/wd/hub";
30-
private static final Logger LOG = LogManager.getLogger ("DriverManager.class");
31-
private static final String LT_ACCESS_KEY = System.getProperty("LT_ACCESS_KEY");
32-
private static final String LT_USERNAME = System.getProperty("LT_USERNAME");
33-
private static final String NO_SANDBOX = "--no-sandbox";
34-
private static final String DISABLE_DEV_SHM = "--disable-dev-shm-usage";
35-
private static final String CUSTOM_WINDOW_SIZE = "--window-size=1050,600";
36-
private static final String HEADLESS = "--headless";
27+
private static final String CUSTOM_WINDOW_SIZE = "--window-size=1050,600";
28+
private static final String DISABLE_DEV_SHM = "--disable-dev-shm-usage";
29+
private static final ThreadLocal<WebDriver> DRIVER = new ThreadLocal<> ();
30+
private static final String GRID_URL = "@hub.lambdatest.com/wd/hub";
31+
private static final String HEADLESS = "--headless";
32+
private static final String HUB_URL = "http://localhost:4444/wd/hub";
33+
private static final Logger LOG = LogManager.getLogger ("DriverManager.class");
34+
private static final String LT_ACCESS_KEY = System.getProperty ("LT_ACCESS_KEY");
35+
private static final String LT_USERNAME = System.getProperty ("LT_USERNAME");
36+
private static final String NO_SANDBOX = "--no-sandbox";
3737

3838
public static void createDriver (final Browsers browser) {
3939
switch (browser) {
@@ -68,7 +68,7 @@ private static HashMap<String, Object> ltOptions () {
6868
ltOptions.put ("selenium_version", "4.0.0");
6969
ltOptions.put ("build", "LambdaTest Playground Build");
7070
ltOptions.put ("name", "LambdaTest Playground Tests");
71-
ltOptions.put("acceptInsecureCerts", true);
71+
ltOptions.put ("acceptInsecureCerts", true);
7272
ltOptions.put ("w3c", true);
7373
ltOptions.put ("plugin", "java-testNG");
7474
return ltOptions;
@@ -94,7 +94,7 @@ private static void setupChromeDriver () {
9494
chromePrefs.put ("download.prompt_for_download", "false");
9595
chromePrefs.put ("download.default_directory",
9696
String.valueOf (Paths.get (System.getProperty ("user.home"), "Downloads")));
97-
chromePrefs.put("profile.password_manager_leak_detection", false);
97+
chromePrefs.put ("profile.password_manager_leak_detection", false);
9898

9999
final var options = new ChromeOptions ();
100100
options.addArguments (NO_SANDBOX);
@@ -115,7 +115,7 @@ private static void setupChromeDriver () {
115115
private static void setupChromeInLambdaTest () {
116116
final var browserOptions = new ChromeOptions ();
117117
browserOptions.setPlatformName ("Windows 10");
118-
browserOptions.setBrowserVersion("latest");
118+
browserOptions.setBrowserVersion ("latest");
119119
browserOptions.setCapability ("LT:Options", ltOptions ());
120120
try {
121121
setDriver (
@@ -136,11 +136,16 @@ private static void setupEdgeDriver () {
136136

137137
private static void setupFirefoxDriver () {
138138
LOG.info ("Setting up Firefox Driver....");
139+
final var isHeadless = Boolean.parseBoolean (
140+
Objects.requireNonNullElse (System.getProperty ("headless"), "true"));
141+
139142
final var options = new FirefoxOptions ();
140143
options.addArguments (NO_SANDBOX);
141144
options.addArguments (DISABLE_DEV_SHM);
142145
options.addArguments (CUSTOM_WINDOW_SIZE);
143-
options.addArguments (HEADLESS);
146+
if (isHeadless) {
147+
options.addArguments (HEADLESS);
148+
}
144149
setDriver (WebDriverManager.firefoxdriver ()
145150
.capabilities (options)
146151
.create ());
@@ -150,7 +155,7 @@ private static void setupFirefoxDriver () {
150155
private static void setupFirefoxInLambdaTest () {
151156
final var browserOptions = new FirefoxOptions ();
152157
browserOptions.setPlatformName ("Windows 10");
153-
browserOptions.setBrowserVersion("latest");
158+
browserOptions.setBrowserVersion ("latest");
154159
browserOptions.setCapability ("LT:Options", ltOptions ());
155160
try {
156161
setDriver (
@@ -198,7 +203,6 @@ private static void setupRemoteEdge () {
198203

199204
private static void setupRemoteFirefox () {
200205
try {
201-
202206
LOG.info ("Setting up Remote Firefox Driver....");
203207
final var firefoxOptions = new FirefoxOptions ();
204208
firefoxOptions.addArguments (NO_SANDBOX);

src/test/java/io/github/mfaisalkhatri/pages/lambdatestseleniumplayground/MainPage.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,28 @@
11
package io.github.mfaisalkhatri.pages.lambdatestseleniumplayground;
22

3+
import static io.github.mfaisalkhatri.drivers.DriverManager.getDriver;
4+
5+
import java.time.Duration;
6+
37
import org.openqa.selenium.By;
48
import org.openqa.selenium.WebElement;
5-
6-
import static io.github.mfaisalkhatri.drivers.DriverManager.getDriver;
9+
import org.openqa.selenium.support.ui.ExpectedConditions;
10+
import org.openqa.selenium.support.ui.WebDriverWait;
711

812
/**
913
* @author Faisal Khatri
1014
* @since 11/16/2022
1115
**/
1216
public class MainPage {
1317

18+
private final WebDriverWait wait;
19+
20+
public MainPage () {
21+
this.wait = new WebDriverWait (getDriver (), Duration.ofSeconds (20));
22+
}
23+
1424
public void clickLink (final String linkName) {
15-
final WebElement link = getDriver ().findElement (By.linkText (linkName));
25+
final WebElement link = this.wait.until (ExpectedConditions.elementToBeClickable (By.linkText (linkName)));
1626
link.click ();
1727
}
1828

test-suite/testng-lambdatest-selenium-playground.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
33
<suite name="Lambdatest Selemnium Playground Tests " verbose="2" parallel="tests">
44
<test name="Single dropdown selection tests">
5-
<parameter name="browser" value="remote_firefox_lambdatest"/>
5+
<parameter name="browser" value="remote_chrome_lambdatest"/>
66
<classes>
77
<class name="io.github.mfaisalkhatri.tests.lambdatestseleniumplayground.SingleDropdownTests">
88
<methods>
@@ -17,7 +17,7 @@
1717
</classes>
1818
</test>
1919
<test name="Multi dropdown selection tests">
20-
<parameter name="browser" value="remote_firefox_lambdatest"/>
20+
<parameter name="browser" value="remote_chrome_lambdatest"/>
2121
<classes>
2222
<class name="io.github.mfaisalkhatri.tests.lambdatestseleniumplayground.MultiSelectListTests">
2323
<methods>

test-suite/testng-seleniumgrid-juiceshop.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
</classes>
2020
</test>
2121
<test name="Juice Shop end to End automation tests on Remote Firefox ">
22-
<parameter name="browser" value="remote_firefox"/>
22+
<parameter name="browser" value="remote_chrome"/>
2323
<classes>
2424
<class name="io.github.mfaisalkhatri.tests.juiceshop.JuiceShopTests">
2525
<methods>

test-suite/testng-seleniumgrid-theinternet.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
</classes>
2828
</test>
2929
<test name="Data table Tests">
30-
<parameter name="browser" value="remote_firefox"/>
30+
<parameter name="browser" value="remote_chrome"/>
3131
<classes>
3232
<class name="io.github.mfaisalkhatri.tests.theinternet.DataTableTests">
3333
<methods>

0 commit comments

Comments
 (0)