def test_checkZeroQuantity(self): # Test scope - add the Zero quantity = > the error message is displayed: url = self.base_url + '/shopping-list' url2 = self.base_url + '/cart' text1 = 'Error:' text2 = 'Some of the items have their booking expired! Please, refresh their status and try again.' text3 = '$12.00' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testyzccc', 'Ss123456') time.sleep(4) HelperTestBase.clickAndWait(self, "[data-test-id='footerMainBtn']") time.sleep(3) HelperTestBase.clickAndWait(self, "[data-test-id='dialogs']") time.sleep(3) # NavigationMenuPage.clickCart(self) time.sleep(5) HelperTestBase.setQuantity(self, "[data-test-id='cartItemQnt_0']", '3') self.assertEqual( text3, HelperTestBase.getText(self, "[data-test-id='cartTotal']")) HelperTestBase.setQuantity(self, "[data-test-id='cartItemQnt_0']", '0') time.sleep(2) ShoppingCartPage.clickPayButton(self) time.sleep(1) self.assertEqual(url2, HelperTestBase.getURL(self))
def test_PayPalFunction_FromProductDetails(self): url = self.base_url + '/shopping-list' driver = self.driver driver.get(self.base_url) text = 'Choose a way to pay - PayPal' text3 = 'Pay with a PayPal account' text4 = 'Security Challenge - PayPal' text1 = 'Shopping Cart:' text2 = "In few seconds you'll be redirected to Paypal page to complete your payment." LoginPage.loginAction(self, 'SellerTestcfz', 'Ss123456') # prepeare to start: NavigationMenuPage.clickCart(self) ShoppingCartPage.deleteItemFromCart(self) time.sleep(2) HelperTestBase.reliableClick(self, "[data-test-id='shoppingLink']") # HelperTestBase.clickBackButton(self) ShoppingListPage.selectProduct(self) self.assertIs( True, HelperTestBase.checkElementPresent( self, "[data-test-id='detailBuyNow']")) HelperTestBase.clickAndWait(self, "[data-test-id='detailBuyNow']") self.assertEqual(text1, HelperTestBase.getModalHeader(self)) self.assertEqual(text2, HelperTestBase.getModalMessage(self)) time.sleep(3) self.assertEqual(text, HelperTestBase.getTitle(self)) time.sleep(10) self.assertIs(True, PayPalPage.checkLogInToYourPayPalAccountButton(self))
def test_choosingProduct(self): ###Test scope : User selected the item from ShoppingList, added item to Cart: text2 = 'Shopping Cart:' text3 = 'Item has been successfully added.' text4 = 'Your cart is currently empty' url = self.base_url + '/shopping-list' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Bob', 'Ss123456') time.sleep(4) ShoppingListPage.selectProduct(self) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='detailBuyNow']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='detailAddToCart']"), True) HelperTestBase.clickAndWait(self, "[data-test-id='detailAddToCart']") time.sleep(2) self.assertEqual(text2, HelperTestBase.getModalHeader(self)) self.assertEqual(text3, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) #### return test data: NavigationMenuPage.clickCart(self) ShoppingCartPage.deleteItemFromCart(self) time.sleep(3) self.assertIn(text4, self.driver.page_source)
def test_deleteItemAddItem(self): # Test scope - click on delete button - the product deleted from Cart: url = self.base_url + '/shopping-list' url2 = self.base_url + '/cart' text1 = 'Your cart is currently empty' text2 = 'Shopping Cart:' text3 = 'Item has been successfully added.' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testupcrs', 'Ss123456') time.sleep(4) NavigationMenuPage.clickCart(self) time.sleep(2) ShoppingCartPage.deleteItemFromCart(self) time.sleep(2) self.assertIn(text1, self.driver.page_source) time.sleep(2) ####### return test to start position: HelperTestBase.reliableClick(self, "[data-test-id='shoppingLink']") ShoppingCartPage.addItemToCart(self) self.assertEqual(text2, HelperTestBase.getModalHeader(self)) self.assertEqual(text3, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) HelperTestBase.reliableClick(self, "[data-test-id='shoppingLink']") driver.refresh() time.sleep(5) NavigationMenuPage.clickCart(self) self.assertIs( HelperTestBase.checkElementEnabled( self, "[data-test-id='cartRemoveItem_0']"), True)
def removeProductFromCartWatchlistFavorites(self): NavigationMenuPage.clickCart(self) ShoppingCartPage.deleteItemFromCart(self) HelperTestBase.clickBackButton(self) NavigationMenuPage.clickWatchlist(self) WatchListPage.removeFromWatchList(self) HelperTestBase.clickBackButton(self) NavigationMenuPage.clickFavoriteList(self) FavoritesPage.removeFromFavList(self) HelperTestBase.clickBackButton(self)
def test_add_to_SC_and_remove(self): driver = self.driver driver.get(self.base_url) text2 = 'Your cart is currently empty' text3 = "Item has been successfully added." text4 = 'Shopping Cart:' LoginPage.loginAction(self, 'Test', "Test12345") time.sleep(4) ShoppingCartPage.addItemToCart(self) self.assertEqual(text4, HelperTestBase.getModalHeader(self)) self.assertEqual(text3, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) time.sleep(3) NavigationMenuPage.clickCart(self) HelperTestBase.reliableClick(self, "[data-test-id='cartRemoveItem_0']") time.sleep(5) self.assertIn(text2, self.driver.page_source)
def test_checkPayButtonAfterRefresh(self): # Test scope - check PAY button after clicked on Refresh item button: url = self.base_url + '/shopping-list' url2 = self.base_url + '/cart' title = 'Choose a way to pay - PayPal' text1 = 'Your cart is currently empty' text2 = 'Shopping Cart:' text3 = 'Item has been successfully added.' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testlbhhl', 'Ss123456') NavigationMenuPage.clickCart(self) time.sleep(2) ShoppingCartPage.clickRefreshButton(self) time.sleep(5) ShoppingCartPage.clickPayButton(self) time.sleep(10) self.assertEqual(title, HelperTestBase.getTitle(self))
def test_checkPayFunction(self): # Test scope - click on delete button - check PAY on Cart page: url = self.base_url + '/shopping-list' url2 = self.base_url + '/cart' title = 'Choose a way to pay - PayPal' text2 = 'Your cart is currently empty' text1 = 'Shopping Cart:' text3 = 'Item has been successfully added.' urlPP = 'https://www.paypal.com' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testffkod', 'Ss123456') time.sleep(4) HelperTestBase.waitSettingsButton(self) #### prepeare test data: ShoppingListPage.sortAndSelectProduct(self) time.sleep(5) self.assertEqual(text1, HelperTestBase.getModalHeader(self)) self.assertEqual(text3, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) NavigationMenuPage.clickCart(self) time.sleep(2) self.assertEqual(url2, HelperTestBase.getURL(self)) time.sleep(5) ShoppingCartPage.clickPayButton(self) time.sleep(15) self.assertEqual(title, HelperTestBase.getTitle(self)) ####### return the test to start position: ############### driver = self.driver driver.get(self.base_url) time.sleep(10) NavigationMenuPage.clickCart(self) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='cartItemTitle_0']"), True) ShoppingCartPage.deleteItemFromCart(self) time.sleep(5) self.assertIn(text2, self.driver.page_source)
def test_checkElements(self): url = self.base_url + '/shopping-list' url2 = self.base_url + '/cart' text1 = 'Sub total:' text2 = 'Item expires:' text3 = 'Quantity' text4 = 'Total cost' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testxjerk', 'Ss123456') time.sleep(5) NavigationMenuPage.clickCart(self) HelperTestBase.waitElement(self, "[data-test-id='cartItemImage_0']") self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='cartItemTitle_0']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='cartItemImage_0']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='cartItemExpiresIn_0']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='cartItemQnt_0']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='cartRemoveItem_0']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='payBtn']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='cartRefreshItem_0']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='shoppingLink']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='cartTotal']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='cartItemTotalCost_0']"), True) self.assertIs(ShoppingCartPage.checkCartBadge(self), True) self.assertIn(text1, driver.page_source) self.assertIn(text2, driver.page_source) self.assertIn(text3, driver.page_source) self.assertIn(text4, driver.page_source)
def test_checkPayStatusAfterProductDeleted(self): #### Test scope - Click on the 'Remove from cart' button and check PAY link => The PAY link isn't active title = 'Pay with a PayPal account - PayPal' url = self.base_url + '/shopping-list' url2 = self.base_url + '/cart' text1 = 'Your cart is currently empty' text2 = 'Shopping Cart:' text3 = 'Item has been successfully added.' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testvhksx', 'Ss123456') time.sleep(3) NavigationMenuPage.clickCart(self) HelperTestBase.clickAndWait(self, "[data-test-id='cartRemoveItem_0']") time.sleep(5) self.assertIn(text1, self.driver.page_source) HelperTestBase.clickAndWait(self, "[data-test-id='payBtn']") self.assertIsNot(title, HelperTestBase.getTitle(self)) ###returt the test data: self.driver.refresh() ShoppingCartPage.addItemToCart(self) self.assertEqual(text2, HelperTestBase.getModalHeader(self)) self.assertEqual(text3, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self)
def test_addQantity(self): ### Test scope - Test the 'Quantity' on Cart page: url = self.base_url + '/shopping-list' text = 'Error:' text2 = 'Your demand exceeds proposal.' text3 = '$9.00' text4 = '$6.00' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testsitlh', 'Ss123456') time.sleep(4) self.assertEqual(url, HelperTestBase.getURL(self)) NavigationMenuPage.clickCart(self) ### Test scope - Type the "6" into 'Quantity' field (if available 5) => "Error! Your demand exceeds proposal." is displayed ShoppingCartPage.addQuantity(self, '10') self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text2, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) ### Test scope - Type the "3" into 'Quantity' field. The 'Sub total' increased 3 times, the 'Total cost' increased 3 times: ShoppingCartPage.addQuantity(self, '3') self.assertEqual( text3, HelperTestBase.getText(self, "[data-test-id='cartItemSubtotal_0']")) ##### Type the "-2" into 'Quantity' field => The "2" is displayed in 'Quantity' field ShoppingCartPage.addQuantity(self, '-2') self.assertEqual( text4, HelperTestBase.getText(self, "[data-test-id='cartItemSubtotal_0']"))