Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 129c50a

Browse files
Applied Webdriver helper on all sample
1 parent 379d22c commit 129c50a

File tree

7 files changed

+113
-75
lines changed

7 files changed

+113
-75
lines changed

‎src/test/java/Utills/WebDriverHelper.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package Utills;
22

33
import org.openqa.selenium.By;
4+
import org.openqa.selenium.Keys;
45
import org.openqa.selenium.WebElement;
56
import org.openqa.selenium.interactions.Actions;
67
import org.openqa.selenium.remote.RemoteWebDriver;
78
import org.openqa.selenium.support.ui.ExpectedConditions;
9+
import org.openqa.selenium.support.ui.Select;
810
import org.openqa.selenium.support.ui.WebDriverWait;
911

1012
public class WebDriverHelper {
@@ -23,6 +25,28 @@ public void click(By locator) {
2325
driver.findElement(locator).click();
2426
}
2527

28+
public void sendKeys(By locator , String str) {
29+
driver.findElement(locator).sendKeys(str);
30+
}
31+
32+
public void clearInputField(By locator) {
33+
driver.findElement(locator).clear();
34+
}
35+
36+
public void sendKeysByKeyBoard(By locator, Keys keys) {
37+
driver.findElement(locator).sendKeys(keys);
38+
}
39+
40+
public String getText(By locator) {
41+
return driver.findElement(locator).getText();
42+
}
43+
44+
public void selectDropDownByValue(By locator, String value) {
45+
Select select = new Select(driver.findElement(locator));
46+
select.selectByValue(value);
47+
48+
}
49+
2650
public boolean isDisplayed(By locator) {
2751
return driver.findElement(locator).isDisplayed();
2852
}

‎src/test/java/com/lambdatest/AddProduct.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.lambdatest;
22

3-
import Utills.UtilsMethods;
43
import Utills.WebDriverHelper;
54
import org.openqa.selenium.By;
65
import org.openqa.selenium.remote.DesiredCapabilities;
@@ -19,6 +18,10 @@ public class AddProduct {
1918
private RemoteWebDriver driver;
2019
WebDriverHelper driverHelper;
2120

21+
22+
//Elements
23+
protected static final By SHOP_BY_CATEGORY_NAVIGATION = By.cssSelector("shop-by-category");
24+
2225
private String Status = "failed";
2326

2427
@BeforeMethod public void setup(Method m, ITestContext ctx) throws MalformedURLException {
@@ -40,7 +43,7 @@ public class AddProduct {
4043

4144
@Test public void addProducts() {
4245
driverHelper.getURL("https://ecommerce-playground.lambdatest.io/");
43-
driverHelper.waitForPresence(By.className("shop-by-category"), 30);
46+
driverHelper.waitForPresence(SHOP_BY_CATEGORY_NAVIGATION, 30);
4447
driverHelper.click(By.className("shop-by-category"));
4548
driverHelper.click(By.cssSelector(".mz-pure-drawer:first-of-type .navbar-nav>li:nth-of-type(3)"));
4649
driverHelper.click(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div"));

‎src/test/java/com/lambdatest/CompareProducts.java

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.lambdatest;
22

3-
import Utills.UtilsMethods;
3+
import Utills.WebDriverHelper;
44
import org.openqa.selenium.By;
55
import org.openqa.selenium.remote.DesiredCapabilities;
66
import org.openqa.selenium.remote.RemoteWebDriver;
@@ -15,7 +15,8 @@
1515

1616
public class CompareProducts {
1717
private RemoteWebDriver driver;
18-
UtilsMethods methods = new UtilsMethods();
18+
WebDriverHelper driverHelper;
19+
1920

2021
private String Status = "failed";
2122

@@ -34,21 +35,22 @@ public void setup(Method m, ITestContext ctx) throws MalformedURLException {
3435
String[] Tags = new String[] { "Feature", "Falcon", "Severe" };
3536
caps.setCapability("tags", Tags);
3637
driver = new RemoteWebDriver(new URL("https://" + username + ":" + authKey + hub), caps);
38+
driverHelper = new WebDriverHelper(driver);
3739
}
3840

3941
@Test
4042
public void compareProducts() {
41-
driver.get("https://ecommerce-playground.lambdatest.io/");
42-
driver.findElement(By.cssSelector("shop-by-category")).click();
43-
driver.findElement(By.cssSelector(".mz-pure-drawer:first-of-type .navbar-nav>li:nth-of-type(3)")).click();
44-
driver.findElement(By.cssSelector(".carousel-item:first-of-type [title='HTC Touch HD']"));
45-
methods.mouseHoverOnElement(driver, By.cssSelector(".carousel-item:first-of-type [title='HTC Touch HD']"));
46-
driver.findElement(By.cssSelector("div[data-view_id='grid'] .product-layout:first-of-type button[title='Compare this Product']")).click();
47-
driver.findElement(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div")).click();
48-
methods.mouseHoverOnElement(driver, By.cssSelector(".carousel-item:first-of-type [title='iPod Touch']"));
49-
driver.findElement(By.cssSelector("div[data-view_id='grid'] .product-layout:first-of-type button[title='Compare this Product']")).click();
50-
driver.findElement(By.cssSelector("#notification-box-top a.btn-secondary")).click();
51-
methods.wait(driver, By.cssSelector(".h4"), 30);
43+
driverHelper.getURL("https://ecommerce-playground.lambdatest.io/");
44+
driverHelper.click(By.cssSelector("shop-by-category"));
45+
driverHelper.click(By.cssSelector(".mz-pure-drawer:first-of-type .navbar-nav>li:nth-of-type(3)"));
46+
driverHelper.click(By.cssSelector(".carousel-item:first-of-type [title='HTC Touch HD']"));
47+
driverHelper.mouseHoverOnElement(By.cssSelector(".carousel-item:first-of-type [title='HTC Touch HD']"));
48+
driverHelper.click(By.cssSelector("div[data-view_id='grid'] .product-layout:first-of-type button[title='Compare this Product']"));
49+
driverHelper.click(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div"));
50+
driverHelper.mouseHoverOnElement(By.cssSelector(".carousel-item:first-of-type [title='iPod Touch']"));
51+
driverHelper.click(By.cssSelector("div[data-view_id='grid'] .product-layout:first-of-type button[title='Compare this Product']"));
52+
driverHelper.click(By.cssSelector("#notification-box-top a.btn-secondary"));
53+
driverHelper.isDisplayed(By.cssSelector(".h4"));
5254
Status = "Passed";
5355
}
5456

‎src/test/java/com/lambdatest/ProductFilters.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.lambdatest;
22

3+
import Utills.WebDriverHelper;
34
import org.openqa.selenium.By;
45
import org.openqa.selenium.Keys;
56
import org.openqa.selenium.remote.DesiredCapabilities;
@@ -15,6 +16,8 @@
1516

1617
public class ProductFilters {
1718
private RemoteWebDriver driver;
19+
WebDriverHelper driverHelper;
20+
1821
private String Status = "failed";
1922

2023
@BeforeMethod
@@ -32,18 +35,19 @@ public void setup(Method m, ITestContext ctx) throws MalformedURLException {
3235
String[] Tags = new String[] { "Feature", "Falcon", "Severe" };
3336
caps.setCapability("tags", Tags);
3437
driver = new RemoteWebDriver(new URL("https://" + username + ":" + authKey + hub), caps);
38+
driverHelper = new WebDriverHelper(driver);
3539
}
3640

3741
@Test
3842
public void productFilters() {
39-
driver.get("https://ecommerce-playground.lambdatest.io/");
40-
driver.findElement(By.cssSelector("#container input[name='mz_fp[min]']")).clear();
41-
driver.findElement(By.cssSelector("#container input[name='mz_fp[min]']")).sendKeys("0");
42-
driver.findElement(By.cssSelector("#container input[name='mz_fp[max]']")).clear();
43-
driver.findElement(By.cssSelector("#container input[name='mz_fp[max]']")).sendKeys("200");
44-
driver.findElement(By.cssSelector("#container input[name='mz_fp[max]']")).sendKeys(Keys.ENTER);
45-
driver.findElement(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div")).click();
46-
driver.findElement(By.cssSelector("#container .module-category a:nth-of-type(5)")).click();
43+
driverHelper.getURL("https://ecommerce-playground.lambdatest.io/");
44+
driverHelper.click(By.cssSelector("#container input[name='mz_fp[min]']"));
45+
driverHelper.sendKeys(By.cssSelector("#container input[name='mz_fp[min]']"), "0");
46+
driverHelper.clearInputField(By.cssSelector("#container input[name='mz_fp[max]']"));
47+
driverHelper.sendKeys(By.cssSelector("#container input[name='mz_fp[max]']"), "200");
48+
driverHelper.sendKeysByKeyBoard(By.cssSelector("#container input[name='mz_fp[max]']"), Keys.ENTER);
49+
driverHelper.click(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div"));
50+
driverHelper.click(By.cssSelector("#container .module-category a:nth-of-type(5)"));
4751
Status = "Passed";
4852
}
4953

‎src/test/java/com/lambdatest/ProductPage.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.lambdatest;
22

3+
import Utills.WebDriverHelper;
34
import org.openqa.selenium.By;
45
import org.openqa.selenium.remote.DesiredCapabilities;
56
import org.openqa.selenium.remote.RemoteWebDriver;
@@ -14,6 +15,8 @@
1415

1516
public class ProductPage {
1617
private RemoteWebDriver driver;
18+
WebDriverHelper driverHelper;
19+
1720
private String Status = "failed";
1821

1922
@BeforeMethod
@@ -31,15 +34,16 @@ public void setup(Method m, ITestContext ctx) throws MalformedURLException {
3134
String[] Tags = new String[] { "Feature", "Falcon", "Severe" };
3235
caps.setCapability("tags", Tags);
3336
driver = new RemoteWebDriver(new URL("https://" + username + ":" + authKey + hub), caps);
37+
driverHelper = new WebDriverHelper(driver);
3438
}
3539

3640
@Test
3741
public void searchProduct() {
38-
driver.get("https://ecommerce-playground.lambdatest.io/");
39-
driver.findElement(By.cssSelector("shop-by-category")).click();
40-
driver.findElement(By.cssSelector(".mz-pure-drawer:first-of-type .navbar-nav>li:nth-of-type(3)")).click();
41-
driver.findElement(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div")).click();
42-
driver.findElement(By.cssSelector(".order-1 .btn-cart")).click();
42+
driverHelper.getURL("https://ecommerce-playground.lambdatest.io/");
43+
driverHelper.click(By.cssSelector("shop-by-category"));
44+
driverHelper.click(By.cssSelector(".mz-pure-drawer:first-of-type .navbar-nav>li:nth-of-type(3)"));
45+
driverHelper.click(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div"));
46+
driverHelper.click(By.cssSelector(".order-1 .btn-cart"));
4347
Status = "Passed";
4448
}
4549

‎src/test/java/com/lambdatest/RegisterAccount.java

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.lambdatest;
22

3-
import Utills.UtilsMethods;
3+
import Utills.WebDriverHelper;
44
import org.openqa.selenium.By;
55
import org.openqa.selenium.remote.DesiredCapabilities;
66
import org.openqa.selenium.remote.RemoteWebDriver;
@@ -15,7 +15,7 @@
1515

1616
public class RegisterAccount {
1717
private RemoteWebDriver driver;
18-
UtilsMethodsmethods = newUtilsMethods();
18+
WebDriverHelperdriverHelper;
1919
private String Status = "failed";
2020

2121
@BeforeMethod
@@ -33,22 +33,23 @@ public void setup(Method m, ITestContext ctx) throws MalformedURLException {
3333
String[] Tags = new String[] { "Feature", "Falcon", "Severe" };
3434
caps.setCapability("tags", Tags);
3535
driver = new RemoteWebDriver(new URL("https://" + username + ":" + authKey + hub), caps);
36+
driverHelper = new WebDriverHelper(driver);
3637
}
3738

3839
@Test(priority = 1)
3940
public void register() {
40-
driver.get("https://ecommerce-playground.lambdatest.io/");
41-
driver.findElement(By.cssSelector("#main-navigation a[href*='account/account']")).click();
42-
driver.findElement(By.cssSelector("#column-right a[href*='account/register']")).click();
43-
methods.wait(driver, By.id("input-firstname"), 30);
44-
driver.findElement(By.id("input-firstname")).sendKeys("name");
45-
driver.findElement(By.id("input-lastname")).sendKeys("LastName");
46-
driver.findElement(By.id("input-email")).sendKeys("Email");
47-
driver.findElement(By.id("input-telephone")).sendKeys("Number");
48-
driver.findElement(By.id("input-password")).sendKeys("Password");
49-
driver.findElement(By.id("input-confirm")).sendKeys("Confirm password");
50-
// driver.findElement(By.id("input-agree")).click();
51-
driver.findElement(By.cssSelector("input[type='submit']")).click();
41+
driverHelper.getURL("https://ecommerce-playground.lambdatest.io/");
42+
driverHelper.click(By.cssSelector("#main-navigation a[href*='account/account']"));
43+
driverHelper.click(By.cssSelector("#column-right a[href*='account/register']"));
44+
driverHelper.waitForPresence(By.id("input-firstname"), 30);
45+
driverHelper.sendKeys(By.id("input-firstname"), "name");
46+
driverHelper.sendKeys(By.id("input-lastname"), "LastName");
47+
driverHelper.sendKeys(By.id("input-email"), "Email");
48+
driverHelper.sendKeys(By.id("input-telephone"), "Number");
49+
driverHelper.sendKeys(By.id("input-password"), "Password");
50+
driverHelper.sendKeys(By.id("input-confirm"), "Confirm password");
51+
// driverHelper.click(By.id("input-agree"));
52+
driverHelper.click(By.cssSelector("input[type='submit']"));
5253
Status = "Passed";
5354
}
5455

‎src/test/java/com/lambdatest/purchaseProduct.java

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package com.lambdatest;
22

3-
import Utills.UtilsMethods;
3+
import Utills.WebDriverHelper;
44
import org.openqa.selenium.By;
55
import org.openqa.selenium.remote.DesiredCapabilities;
66
import org.openqa.selenium.remote.RemoteWebDriver;
7-
import org.openqa.selenium.support.ui.Select;
87
import org.testng.Assert;
98
import org.testng.ITestContext;
109
import org.testng.annotations.AfterMethod;
@@ -17,7 +16,7 @@
1716

1817
public class purchaseProduct {
1918
private RemoteWebDriver driver;
20-
UtilsMethodsmethods = newUtilsMethods();
19+
WebDriverHelperdriverHelper;
2120

2221
private String Status = "failed";
2322

@@ -36,41 +35,42 @@ public void setup(Method m, ITestContext ctx) throws MalformedURLException {
3635
String[] Tags = new String[] { "Feature", "Falcon", "Severe" };
3736
caps.setCapability("tags", Tags);
3837
driver = new RemoteWebDriver(new URL("https://" + username + ":" + authKey + hub), caps);
38+
driverHelper = new WebDriverHelper(driver);
3939
}
4040

4141
@Test
4242
public void purchaseProduct() {
43-
driver.get("https://ecommerce-playground.lambdatest.io/");
44-
driver.findElement(By.cssSelector("shop-by-category")).click();
45-
driver.findElement(By.cssSelector(".mz-pure-drawer:first-of-type .navbar-nav>li:nth-of-type(3)")).click();
46-
driver.findElement(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div")).click();
47-
methods.mouseHoverOnElement(driver, By.cssSelector(".carousel-item:first-of-type [title='iPod Touch']"));
48-
driver.findElement(By.cssSelector("div[data-view_id='grid'] .product-layout:first-of-type button[title='Add to Cart']")).click();
49-
driver.findElement(By.cssSelector("#notification-box-top .btn-primary")).click();
50-
driver.findElement(By.cssSelector("#content a[href*='checkout/checkout']")).click();
51-
methods.wait(driver, By.id("input-payment-firstname"), 30);
52-
driver.findElement(By.id("input-payment-firstname")).sendKeys("name");
53-
driver.findElement(By.id("input-payment-lastname")).sendKeys("LastName");
54-
driver.findElement(By.id("input-payment-email")).sendKeys("Email");
55-
driver.findElement(By.id("input-payment-telephone")).sendKeys("Number");
56-
driver.findElement(By.id("input-payment-password")).sendKeys("Password");
57-
driver.findElement(By.id("input-payment-confirm")).sendKeys("Confirm password");
43+
driverHelper.getURL("https://ecommerce-playground.lambdatest.io/");
44+
driverHelper.click(By.cssSelector("shop-by-category"));
45+
driverHelper.click(By.cssSelector(".mz-pure-drawer:first-of-type .navbar-nav>li:nth-of-type(3)"));
46+
driverHelper.click(By.cssSelector("#container .manufacturer .mz-filter-group-content div:first-of-type div"));
47+
driverHelper.mouseHoverOnElement(By.cssSelector(".carousel-item:first-of-type [title='iPod Touch']"));
48+
driverHelper.click(By.cssSelector("div[data-view_id='grid'] .product-layout:first-of-type button[title='Add to Cart']"));
49+
driverHelper.click(By.cssSelector("#notification-box-top .btn-primary"));
50+
driverHelper.click(By.cssSelector("#content a[href*='checkout/checkout']"));
51+
driverHelper.waitForPresence(By.id("input-payment-firstname"), 30);
52+
driverHelper.sendKeys(By.id("input-payment-firstname"), "Name");
53+
driverHelper.sendKeys(By.id("input-payment-lastname"), "LastName");
54+
driverHelper.sendKeys(By.id("input-payment-email"), "Email");
55+
driverHelper.sendKeys(By.id("input-payment-telephone"), "Number");
56+
driverHelper.sendKeys(By.id("input-payment-password"), "Password");
57+
driverHelper.sendKeys(By.id("input-payment-confirm"), "Confirm password");
5858

59-
driver.findElement(By.id("input-payment-company")).sendKeys("Company name");
60-
driver.findElement(By.id("input-payment-address-1")).sendKeys("Address One");
61-
driver.findElement(By.id("input-payment-address-2")).sendKeys("Address Two");
62-
driver.findElement(By.id("input-payment-city")).sendKeys("City");
63-
driver.findElement(By.id("input-payment-postcode")).sendKeys("Postal code");
64-
Selectselect = newSelect(driver.findElement(By.id("input-payment-country")));
65-
select.selectByValue("India");
66-
Selectselect1 = newSelect(driver.findElement(By.id("input-payment-zone")));
67-
select1.selectByValue("Delhi");
68-
driver.findElement(By.id("input-account-agree")).click();
69-
driver.findElement(By.id("input-agree")).click();
70-
driver.findElement(By.id("button-save")).click();
71-
driver.findElement(By.className("page-title")).isDisplayed();
72-
driver.findElement(By.id("button-confirm")).click();
73-
String orderStatus = driver.findElement(By.id("page-title")).getText();
59+
driverHelper.sendKeys(By.id("input-payment-company"), "Company name");
60+
driverHelper.sendKeys(By.id("input-payment-address-1"), "Address One");
61+
driverHelper.sendKeys(By.id("input-payment-address-2"), "Address Two");
62+
driverHelper.sendKeys(By.id("input-payment-city"), "City");
63+
driverHelper.sendKeys(By.id("input-payment-postcode"), "Postal code");
64+
65+
driverHelper.selectDropDownByValue(By.id("input-payment-country"), "India");
66+
driverHelper.selectDropDownByValue(By.id("input-payment-zone"), "Delhi");
67+
68+
driverHelper.click(By.id("input-account-agree"));
69+
driverHelper.click(By.id("input-agree"));
70+
driverHelper.click(By.id("button-save"));
71+
driverHelper.isDisplayed(By.className("page-title"));
72+
driverHelper.click(By.id("button-confirm"));
73+
String orderStatus = driverHelper.getText(By.id("page-title"));
7474
Assert.assertEquals(orderStatus, "Your order has been placed!");
7575
Status = "Passed";
7676
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /