11package com .lambdatest ;
22
3- import Utills .UtilsMethods ;
3+ import Utills .WebDriverHelper ;
44import org .openqa .selenium .By ;
55import org .openqa .selenium .remote .DesiredCapabilities ;
66import org .openqa .selenium .remote .RemoteWebDriver ;
7- import org .openqa .selenium .support .ui .Select ;
87import org .testng .Assert ;
98import org .testng .ITestContext ;
109import org .testng .annotations .AfterMethod ;
1716
1817public class purchaseProduct {
1918 private RemoteWebDriver driver ;
20- UtilsMethods methods = new UtilsMethods () ;
19+ WebDriverHelper driverHelper ;
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- Select select = new Select ( driver . findElement ( By . id ( "input-payment-country" )));
65- select . selectByValue ( "India" );
66- Select select1 = new Select ( 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