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 test_removeMessageSeller(self): url1 = self.base_url + '/shopping-list' url = self.base_url + '/inventory-list' url2 = self.base_url + '/dialogs' text1 = 'Remove dialog?' text2 = 'Test message' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Bob', 'Ss123456') time.sleep(5) ShopperDetailsPage.clickSellerName(self) ShopperDetailsPage.clickContactSellerButton(self) MessagesPage.sendMessage(self, 'Test message') self.assertIn(text2, self.driver.page_source) self.driver.refresh() time.sleep(5) NavigationMenuPage.clickSellerButton(self) time.sleep(5) NavigationMenuPage.clickMessages(self) time.sleep(2) MessagesPage.removeMessage(self) self.assertEqual(text1, HelperTestBase.getModalHeader(self)) HelperTestBase.clickCancelButton(self) MessagesPage.removeMessage(self) self.assertEqual(text1, HelperTestBase.getModalHeader(self)) HelperTestBase.clickYesButton(self)
def test_checkElements(self): # Test scope - Buyer clicks on Categories Menu => the 'categories menu' ( Fruits, Vegetables, Meat, Other, Bakery) is displayed: url = self.base_url + '/shopping-list' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'asdfgh', 'Ss123456') CategoriesMenuPage.clickCategoriesMenuButton(self) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Fruits']"), True) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Vegetables']"), True) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Bakery']"), True) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Other']"), True) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Meat']"), True) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='SeaFood']"), True) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Dairy']"), True) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Poultry']"), True) # Click on the 'footer category' button => The 'categories menu' is closed: CategoriesMenuPage.clickCategoriesMenuButton(self) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Fruits']"), False) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Vegetables']"), False) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Bakery']"), False) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Other']"), False) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Meat']"), False) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='SeaFood']"), False) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Dairy']"), False) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='Poultry']"), False)
def test_clickGoToAboutSeller(self): url1 = self.base_url + '/shopping-list' url2 = self.base_url + '/settings' url3 = self.base_url + '/about' url = self.base_url + '/inventory-list' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'SA1', 'Bizibaza111') NavigationMenuPage.clickSellerButton(self) HelperTestBase.waitSettingsButton(self) time.sleep(5) HelperTestBase.reliableClick(self, "[data-test-id='settingsLink']") self.assertEqual(url2, HelperTestBase.getURL(self)) # Test scope - Seller clicks on About icon => About page is opened: time.sleep(3) HelperTestBase.reliableClick(self, "[data-test-id='goToAbout']") self.assertEqual(url3, HelperTestBase.getURL(self)) # Click on < icon => Settings page is opened: HelperTestBase.clickBackIcon(self) # HelperTestBase.reliableClick(self, "[data-test-id='backLink']") self.assertEqual(url2, HelperTestBase.getURL(self)) # Click on 'Home' icon => The Inventory list is opened SettingsPage.clickHomeIcon(self) # HelperTestBase.reliableClick(self, "[data-test-id='backLink']") time.sleep(2) self.assertEqual(url, HelperTestBase.getURL(self))
def test_checkAddToCartBuyNowFromYourself(self): ### Test scope - click on AddToCart / BuyNow => 'You cannot buy from yourself!' is displayed: url = self.base_url + '/shopping-list' url2 = self.base_url + '/cart' text = 'Error:' text1 = 'You cannot buy from yourself!' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'SellerTesthfr', 'Ss123456') # click on AddToCart = > 'You cannot buy from yourself!' is displayed: ProductDetailsPage.addProductToCart(self) self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text1, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) ### Test scope - click on BuyNow => 'You cannot buy from yourself!' is displayed: ProductDetailsPage.clickBuyNow(self) self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text1, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='detailAddToCart']"), True)
def test_checkPopUp(self): url = self.base_url + '/shopping-list' url1 = self.base_url + '/search' text1 = 'Send mail to [email protected] ?' text2 = "Open 'www.bizibaza.com'?" driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testnrxei', 'Ss123456') ShopperDetailsPage.clickSellerName(self) # Test scope - click on shopper Email => 'Send mail to [email protected] ?' is displayed: ShopperDetailsPage.clickShopperMail(self) self.assertEqual(text1, HelperTestBase.getModalMessage(self)) # HelperTestBase.clickYesButton(self) # Test scope - click on Cancel => Shopper Details is displayed: HelperTestBase.clickCancelButton(self) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='ShopperName']"), True) # Test scope - click on shopper web page => 'Open www.bizibaza.com ?' is displayed: ShopperDetailsPage.clickShopperWebPage(self) self.assertEqual(text2, HelperTestBase.getModalMessage(self)) # Test scope - click on Cancel => Shopper Details is displayed: HelperTestBase.clickCancelButton(self) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='ShopperName']"), True)
def test_add_to_SL_and_remove(self): driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Test', "Test12345") HelperTestBase.reliableClick(self, "[data-test-id='showCategoriesBtn']") HelperTestBase.reliableClick(self, "[data-id='55e447694d9b31be099f7502']") HelperTestBase.reliableClick(self, "[data-test-id='subcategory_0']") wait = WebDriverWait(self.driver, 60) element = wait.until( EC.visibility_of_element_located( (By.CSS_SELECTOR, "[data-test-id='entry_0']"))) el_name = element.text self.driver.execute_script("arguments[0].click()", element) wait = WebDriverWait(self.driver, 60) element = driver.find_element_by_class_name("ok") self.assertEqual(element.text, el_name + "\n" + el_name) HelperTestBase.reliableClick(self, "[data-test-id='shoppingLink']") HelperTestBase.reliableClick(self, "[data-test-id='removeBtn_1']") driver.refresh() self.assertNotIn(el_name, driver.page_source)
def test_deleteAdd_Item_InventoryList(self): url = self.base_url + '/shopping-list' url1 = self.base_url + '/inventory-list' text = 'Success:' text1 = 'A new item has been successfully created.' text2 = 'Remove item?' text3 = 'Are you sure you want to remove this item?' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Bob', 'Ss123456') NavigationMenuPage.clickSellerButton(self) self.assertEqual(url1, HelperTestBase.getURL(self)) ## Click on 'delete' button InventoryListPage.deleteItem(self) self.assertEqual(text2, HelperTestBase.getModalHeader(self)) self.assertEqual(text3, HelperTestBase.getModalMessage(self)) HelperTestBase.clickCancelButton(self) # click on No button = > Inventory list is displayed InventoryListPage.deleteItem(self) self.assertEqual(text2, HelperTestBase.getModalHeader(self)) self.assertEqual(text3, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) ########## Test scope Seller create item => the item added to Inventory List: ProductEditorPage.returtTestData(self, title='Test Apple', price='2', description='test', sortUnits='Each', currentQuantityInp='100', sortQTY='Each', country='Canada', productCodeInp='test product') self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text1, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self)
def test_editWebFieldValidData(self): url2 = self.base_url + '/profile' url = self.base_url + '/shopping-list' text = 'www.alf.kh.pp' text1 = 'www.alf.kh.ua' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Bob', 'Ss123456') time.sleep(3) # NavigationMenuPage.clickProfile(self) HelperTestBase.clickAndWait(self, "[data-test-id='footerMainBtn']") time.sleep(2) HelperTestBase.clickAndWait(self, "[data-test-id='profile']") time.sleep(2) self.assertEqual(url2, HelperTestBase.getURL(self)) self.assertEqual(text, ProfilePage.getWebString(self)) ProfilePage.editWebField(self, 'www.alf.kh.ua') time.sleep(5) self.assertEqual(text1, ProfilePage.getWebString(self)) #### return the test data to start state: ProfilePage.editWebField(self, 'www.alf.kh.pp') time.sleep(5) self.assertEqual(text, ProfilePage.getWebString(self))
def test_BiziPix_add_and_remove(self): driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'SellerTestcjd', "Ss123456") time.sleep(5) NavigationMenuPage.clickSellerButton(self) HelperTestBase.reliableClick(self, "[data-test-id='biziPixLink']") HelperTestBase.reliableClick(self, "[data-test-id='createButton']") element = driver.find_elements_by_css_selector( "[data-test-id='pickerCell']")[0] el_name = driver.find_elements_by_css_selector( "[data-test-id='pickerCellTitle']")[0].text self.driver.execute_script("arguments[0].click()", element) time.sleep(2) HelperTestBase.reliableClick(self, "[data-test-id='saveButton']") HelperTestBase.reliableClick(self, "[data-test-id='biziPixLink']") time.sleep(6) self.assertIn(el_name, driver.page_source) HelperTestBase.reliableClick(self, "[data-test-id='removeTagButton']") HelperTestBase.reliableClick(self, "[class='tag__trash']") HelperTestBase.reliableClick(self, "[data-test-id='yesButton']") HelperTestBase.reliableClick(self, "[data-test-id='saveButton']") HelperTestBase.reliableClick(self, "[data-test-id='biziPixLink']") time.sleep(4) self.assertNotIn(el_name, driver.page_source)
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_ShoppingCart_count(self): driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Test', "Test12345") time.sleep(4) HelperTestBase.reliableClick(self, "[data-test-id='shoppingListProduct_0']") time.sleep(3) qtyInp = driver.find_element_by_css_selector( "[data-test-id='abstractListProductQty_0']") qtyInp.click() qtyInp.send_keys("1") time.sleep(3) openBtn = driver.find_elements_by_class_name( "abstract-list__product__open")[0] openBtn.click() time.sleep(3) qtyInpDetails = driver.find_element_by_css_selector( "[data-test-id='detailPriceQty']") qtyInpDetailsValue = qtyInpDetails.get_attribute("value") self.assertEqual("1", qtyInpDetailsValue)
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_checkValidQuantity(self): # Test scope - add valid quantity : url = self.base_url + '/shopping-list' url2 = self.base_url + '/cart' text1 = '$8.00' text2 = '$4.00' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testfkvec', 'Ss123456') time.sleep(3) NavigationMenuPage.clickCart(self) HelperTestBase.setQuantity(self, "[data-test-id='cartItemQnt_0']", '2') time.sleep(2) self.assertEqual( text2, HelperTestBase.getText(self, "[data-test-id='cartTotal']")) self.assertEqual( text2, HelperTestBase.getText(self, "[data-test-id='cartItemTotalCost_0']")) driver.refresh() time.sleep(5) HelperTestBase.clickAndWait(self, "[data-test-id='footerMainBtn']") HelperTestBase.wait(self, "[data-test-id='cart']") HelperTestBase.clickAndWait(self, "[data-test-id='cart']") time.sleep(2) HelperTestBase.setQuantity(self, "[data-test-id='cartItemQnt_0']", '1') time.sleep(2) self.assertEqual( text2, HelperTestBase.getText(self, "[data-test-id='cartTotal']")) self.assertEqual( text2, HelperTestBase.getText(self, "[data-test-id='cartItemTotalCost_0']"))
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_editEmailFieldValidData(self): url2 = self.base_url + '/profile' url = self.base_url + '/shopping-list' text = '*****@*****.**' text1 = '*****@*****.**' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'svetast', 'Ss1234567') time.sleep(3) NavigationMenuPage.clickProfile(self) # HelperTestBase.clickAndWait(self, "[data-test-id='footerMainBtn']") # HelperTestBase.clickAndWait(self, "[data-test-id='profile']") # time.sleep(2) # self.assertEqual(url2, HelperTestBase.getURL(self)) self.assertEqual(text, ProfilePage.getEmailString(self)) ProfilePage.editEmailField(self, '*****@*****.**') time.sleep(5) self.assertEqual(text1, ProfilePage.getEmailString(self)) #### return the test data to start state: ProfilePage.editEmailField(self, '*****@*****.**') time.sleep(5) self.assertEqual(text, ProfilePage.getEmailString(self))
def test_Add_Remove_EventAction(self): url2 = self.base_url + '/event' url = self.base_url + '/shopping-list' url1 = self.base_url + '/product-editor' text1 = 'Success:' text2 = 'The item has been successfully updated.' text7 = 'The event has been successfully processed!' text3 = 'Remove event?' text4 = 'Are you sure you want to remove this event?' text5 = 'Warning:' text6 = 'This item has already been presented on this market!' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Bob', 'Ss123456') ### add new Event : ProductEditorPage.goProductEditor(self) ProductEditorPage.addEventAction(self) SearchScreenPage.submitSearchMarketEvent(self, 'mars') time.sleep(3) #### Test scope - Search the Mars market => the elements are present in the list: self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='abstractListProduct_0']"), True) self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='abstractListProduct_1']"), True) AddEventPage.selectMarket(self) # Click on Save button => the appropriate message is displayed: ProductEditorPage.clickSaveButton(self) self.assertEqual(text1, HelperTestBase.getModalHeader(self)) self.assertEqual(text7, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) # Click on delete button on Event => the appropriate message is displayed: HelperTestBase.clickAndWait(self, "[data-test-id='removeEvent']") self.assertEqual(text3, HelperTestBase.getModalHeader(self)) self.assertEqual(text4, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) time.sleep(2) ProductEditorPage.clickSaveButton(self)
def test_clickCancelButton(self): url = self.base_url + '/shopping-list' url2 = self.base_url + '/product-editor' url1 = self.base_url + '/inventory-list' text = 'Cancel editing?' text1 = 'All your changes will be lost!' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Bob', 'Ss123456') NavigationMenuPage.clickSellerButton(self) time.sleep(3) ProductEditorPage.goProductEditor(self) ProductEditorPage.clickCancel(self) # HelperTestBase.clickAndWait(self, "[data-test-id='inventoryItem-0']") # self.assertEqual(url2, HelperTestBase.getURL(self)) # self.assertIs(HelperTestBase.checkElementPresent(self, "[data-test-id='cancelLink']"), True) # HelperTestBase.clickAndWait(self, "[data-test-id='cancelLink']") self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text1, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) time.sleep(3) self.assertEqual(url1, HelperTestBase.getURL(self)) # Test scope - check available item after editing: ProductEditorPage.goProductEditor(self) ProductEditorPage.clickSaveButton(self) HelperTestBase.clickYesButton(self)
def test_chekElementsPresent(self): url = self.base_url + '/shopping-list' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'testhdzzr', 'Ss123456') time.sleep(2) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='searchLink']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='settingsLink']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='addNewInput']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='removeBtn_0']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='statusBtn_0']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='footerMainBtn']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='showCategoriesBtn']"), True)
def test_setInvalidQTY(self): url = self.base_url + '/shopping-list' text = 'Error:' text1 = 'Unacceptable QUANTITY value!' text5 = 'The field AVAILABLE QUANTITY is required. Please, fill it in.' text11 = 'Cancel editing?' text12 = 'All your changes will be lost!' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Bob', 'Ss123456') time.sleep(5) # ProductEditorPage.addProductWithoutYear(self, title='Test Product', price='2', # description='test', sortUnits='Each', # currentQuantityInp='asdf', sortQTY='Each', # country='Canada', productCodeInp='#test', # salePrice='1', sortSalePrice='Each') ProductEditorPage.openProductEditor(self) ProductEditorPage.setTitle(self, 'Test Apple') ProductEditorPage.setPrice1(self, '2') ProductEditorPage.sortUnits(self, 'Each') ProductEditorPage.clickSaveButton(self) # ProductEditorPage.setQTY(self, title='Test Product', price='2', currentQuantityInp='Asdf') self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text5, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) ProductEditorPage.clickCancel(self) self.assertEqual(text11, HelperTestBase.getModalHeader(self)) self.assertEqual(text12, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) ##### delete the new item from Inventory List: InventoryListPage.deleteItem(self)
def test_clickGoToAboutByuer(self): # Test scope Buyer clicks on About icon => About page is opened: url1 = self.base_url + '/shopping-list' url2 = self.base_url + '/settings' url3 = self.base_url + '/about' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'SA1', 'Bizibaza111') time.sleep(2) HelperTestBase.reliableClick(self, "[data-test-id='settingsLink']") # HelperTestBase.waitURL(self, url2) self.assertEqual(url2, HelperTestBase.getURL(self)) # Test scope - buyer clicks on About icon => About page is opened: HelperTestBase.reliableClick(self, "[data-test-id='goToAbout']") self.assertEqual(url3, HelperTestBase.getURL(self)) # Click on < icon => Settings page is opened: HelperTestBase.clickBackIcon(self) # HelperTestBase.reliableClick(self, "[data-test-id='backLink']") self.assertEqual(url2, HelperTestBase.getURL(self)) # Click on 'Home' icon => The Shopping list is opened SettingsPage.clickHomeIcon(self) # HelperTestBase.reliableClick(self, "[data-test-id='backLink']") time.sleep(2) self.assertEqual(url1, HelperTestBase.getURL(self))
def test_editProduct(self): # Test scope - Edit the product> click Save button => the changes are saved: url = self.base_url + '/shopping-list' text1 = 'The item has been successfully updated.' text = 'Success:' text3 = 'New Sveta' text4 = 'Test New Item Test' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Bob', 'Ss123456') time.sleep(5) self.assertEqual(url, HelperTestBase.getURL(self)) ProductEditorPage.editProduct(self, 'New Sveta') self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text1, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) self.assertIn(text3, self.driver.page_source) ##Test scope - user can re-change after the changes have been saved ProductEditorPage.editProduct(self, 'Test New Item Test') self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text1, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) self.assertIn(text4, self.driver.page_source)
def test_addReviews_If_BuyerNotBoughtProduct(self): ### Click on "Add Review" on Reviews page if Buyer hasn't bought product => 'You haven't bought this item yet' is displayed: url = self.base_url + '/shopping-list' url2 = self.base_url + '/reviews' driver = self.driver driver.get(self.base_url) text1 = 'You cannot send review:' text2 = "You haven't bought this item yet" LoginPage.loginAction(self, 'Testkaeda', 'Ss123456') ProductDetailsPage.goToProductDetailsPage(self) ProductDetailsPage.clickReviewsButton(self) ReviewsPage.clickAddReviewButton(self) self.assertEqual(text1, HelperTestBase.getModalHeader(self)) self.assertEqual(text2, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) ### Click on "Back" button => Product details page is opened, 'BuyNow' button is displayed: # ReviewsPage.clickBackButton(self) HelperTestBase.reliableClick(self, "[data-test-id='backLink']") self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='detailAddToCart']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='detailBuyNow']"), True)
def test_checkElementsSeller(self): url2 = self.base_url + '/analytics' url = self.base_url + '/shopping-list' url1 = self.base_url + '/inventory-list' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'SA1', 'Bizibaza111') NavigationMenuPage.clickSellerButton(self) time.sleep(5) # HelperTestBase.clickAndWait(self, "[data-test-id='footerMainBtn']") # time.sleep(1) # HelperTestBase.clickAndWait(self, "[data-test-id='analytics']") # time.sleep(2) NavigationMenuPage.clickAnalytics(self) self.assertEqual(url2, HelperTestBase.getURL(self)) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='shoppingLink']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='history']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='duties']"), True)
def test_checkWatchListIcon(self): ### ### Test scope - click on AddWatchList => RemoveWatchList is displayed, refresh page => RemoveWatchList is displayed: url = self.base_url + '/shopping-list' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testviuug', 'Ss123456') ProductDetailsPage.goToProductDetailsPage(self) time.sleep(2) self.assertIs( True, HelperTestBase.checkElementPresent(self, "[data-test-id='addToWL']")) HelperTestBase.reliableClick(self, "[data-test-id='addToWL']") time.sleep(2) # ProductDetailsPage.addToWatchList(self) self.assertIs( True, HelperTestBase.checkElementPresent( self, "[data-test-id='removeFromWL']")) self.driver.refresh() time.sleep(10) ProductDetailsPage.goToProductDetailsPage(self) time.sleep(2) # ProductDetailsPage.removeFromWatchList(self) HelperTestBase.reliableClick(self, "[data-test-id='removeFromWL']") time.sleep(2) self.assertIs( True, HelperTestBase.checkElementPresent(self, "[data-test-id='addToWL']"))
def test_BiziPix_using(self): driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'SellerTestcjd', 'Ss123456') time.sleep(3) HelperTestBase.reliableClick(self, "[data-test-id='shoppingListProduct_0']") HelperTestBase.reliableClick(self, "[data-test-id='abstractListProduct_0']") HelperTestBase.reliableClick(self, "[data-test-id='BiziPix']") wait = WebDriverWait(self.driver, 100) cursor = wait.until( EC.visibility_of_element_located( (By.CSS_SELECTOR, "[data-test-id='cursor']"))) # img = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "[data-test-id='bizipixImage']"))) actions = ActionChains(driver) actions.move_to_element(cursor) actions.click_and_hold(cursor) actions.drag_and_drop_by_offset(cursor, 162, -75) time.sleep(2) actions.drag_and_drop_by_offset(cursor, 60, -80) time.sleep(2) actions.drag_and_drop_by_offset(cursor, 62, -75) actions.perform() time.sleep(3) HelperTestBase.reliableClick(self, "[data-test-id='bizipixCard']") time.sleep(6) self.assertIs( True, HelperTestBase.checkElementPresent( self, "[data-test-id='detailBuyNow']"))
def test_checkElementsForSeller(self): url = self.base_url + '/shopping-list' url2 = self.base_url + '/dialogs' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'SA1', 'Bizibaza111') NavigationMenuPage.clickSellerButton(self) time.sleep(2) HelperTestBase.clickAndWait(self, "[data-test-id='footerMainBtn']") time.sleep(3) HelperTestBase.clickAndWait(self, "[data-test-id='dialogs']") time.sleep(3) # NavigationMenuPage.clickMessages(self) self.assertEqual(url2, HelperTestBase.getURL(self)) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='searchInp']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='shoppingLink']"), True) self.assertIs( HelperTestBase.checkElementPresent( self, "[data-test-id='searchCancel']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='dialog_0']"), True) self.assertIs( HelperTestBase.checkElementPresent(self, "[data-test-id='removeItem']"), True)
def test_deleteAddItemToWL(self): # Test scope - delete item from Watch List => the item deleted, the Empty text is displayed url2 = self.base_url + '/watchlist' url = self.base_url + '/shopping-list' text = 'Empty' driver = self.driver driver.get(self.base_url) LoginPage.loginAction(self, 'Testgzcks', 'Ss123456') NavigationMenuPage.clickWatchlist(self) WatchListPage.removeFromWatchList(self) time.sleep(2) self.assertEqual(url2, HelperTestBase.getURL(self)) time.sleep(4) self.assertIn(text, self.driver.page_source) # Test scope - add to Watch List => the item added self.driver.refresh() WatchListPage.addToWatchList(self) ProductDetailsPage.clickBackButton(self) time.sleep(3) NavigationMenuPage.clickWatchlist(self) time.sleep(2) self.assertIs(WatchListPage.checkItemPresent(self), True)
def test_checkDuplicate21Item(self): driver = self.driver driver.maximize_window() driver.get(self.base_url) text = 'Remove item?' text1 = 'Are you sure you want to remove this item?' LoginPage.loginAction(self, 'SellerTestpsq', 'Ss123456') NavigationMenuPage.clickSellerButton(self) SheetsPage.openSheets(self) SheetsPage.clickDuplicate(self) time.sleep(3) self.assertEqual( len( self.driver.find_elements_by_css_selector( "[data-test-id='remove']")), 42) SheetsPage.closeSheets(self) SheetsPage.openSheets(self) self.assertEqual( len( self.driver.find_elements_by_css_selector( "[data-test-id='remove']")), 40) SheetsPage.deleteItem(self) self.assertEqual(text, HelperTestBase.getModalHeader(self)) self.assertEqual(text1, HelperTestBase.getModalMessage(self)) HelperTestBase.clickYesButton(self) HelperTestBase.clickYesButton(self)
def test_checkValidationFieldsBlocked(self): driver = self.driver driver.maximize_window() driver.get(self.base_url) LoginPage.loginAction(self, 'SellerTestlhc', 'Ss123456') NavigationMenuPage.clickSellerButton(self) # Check that Record field is blocked: SheetsPage.openSheets(self) SheetsPage.clickOnRecordField(self) self.assertEqual( False, hasattr(SheetsPage.clickOnRecordField(self), 'send_keys')) # Check that Category field is blocked: SheetsPage.clickOnCategoryField(self) self.assertEqual( False, hasattr(SheetsPage.clickOnCategoryField(self), 'send_keys')) # Check that SubCategory field is blocker: SheetsPage.clickOnSubCategoryField(self) self.assertEqual( False, hasattr(SheetsPage.clickOnSubCategoryField(self), 'send_keys')) # Check that SubCategoryEntry field is blocked: SheetsPage.clickOnSubCategoryEntryField(self) self.assertEqual( False, hasattr(SheetsPage.clickOnSubCategoryEntryField(self), 'send_keys'))