def step(context, credentials): if not pages.LoginPage(context.browser).is_logged_in: creds = context.settings['credentials'][credentials] login, pwd = creds.values() page = pages.LoginPage(context.browser) page.open() page.login(login, pwd)
def test_purchase(self): pages.LoginPage(self.browser).open() pages.LoginPage(self.browser).login('*****@*****.**', 'codespace') ui.Link(self.browser, 'Accessories').hover() ui.Link(self.browser, 'Jewelry').click() ui.Product(self.browser, 'Swing Time Earrings').select()
def test_purchase(self): self.logger.info(" logging in with cred: ") pages.LoginPage(self.browser).open() pages.LoginPage(self.browser).login('*****@*****.**', 'codespace') self.logger.info(" navigating to Men->Blazers") ui.Link(self.browser, 'Men').hover() ui.Link(self.browser, 'Blazers').click() self.logger.info(" selecting product...") ui.Product(self.browser, 'Stretch Cotton Blazer').select() ui.Select(self.browser, 'Color').select_by_index(1) ui.Select(self.browser, 'Size').select_by_index(1) ui.Button(self.browser, 'Add to Cart').click() ui.Button(self.browser, 'Proceed to Checkout').click() self.assertTrue(ui.Header(self.browser, 'Checkout').is_visible) checkout = pages.CheckoutPage(self.browser) # 1 billing information checkout.continue_checkout() assert False # 2 shipping method ui.Checkbox(self.browser, 'Add gift options').wait_for_element_visible().click() checkout.continue_checkout() # 3 payment information WebDriverWait(self.browser, 5).until( EC.presence_of_element_located( (By.XPATH, '//label[contains(text(), "Cash On Delivery ")]'))) checkout.continue_checkout() # 4 place order ui.Button(self.browser, 'Place Order').wait_for_element_visible(15).click() # 5 verify confirmation page self.assertTrue( ui.Header(self.browser, 'Your order has been received.').is_visible) order_id = pages.CheckoutPage(self.browser).get_order_id() pages.MyOrders(self.browser).open() self.assertIn(order_id, pages.MyOrders(self.browser).get_orders())
def test_cart(self): page = pages.LoginPage(self.browser) page.open() page.login('*****@*****.**', 'codespace') # navigate to Home & Decor->Electronics # page.navigate_to('Home & Decor->Electronics') # ui.Product(self.browser, '8Gb Memory Card').select() # # ui.Button(self.browser, 'Add to Cart').click() cart = pages.Cart(self.browser) cart.open() cart.products[0].edit_qty(2) self.assertEqual( cart.products[0].subtotal, cart.products[0].price * 2 ) logging.info([product.subtotal for product in cart.products]) self.assertEqual( sum( [product.subtotal for product in cart.products] ), cart.grand_total )
def test_simple_alert(self): # create alert with JavaScript injection pages.LoginPage(self.browser).open() self.browser.execute_script('alert("Simple alert");') # wait for alert WebDriverWait(self.browser, 5).until(EC.alert_is_present()) sleep(2) self.browser.switch_to.alert.accept()
def test_confirmation_alert(self): pages.LoginPage(self.browser).open() self.browser.execute_script('confirm("Confirm alert");') # wait for alert WebDriverWait(self.browser, 5).until(EC.alert_is_present()) sleep(2) # Cancel alert self.browser.switch_to.alert.dismiss() # Accept alert self.browser.switch_to.alert.accept()
def test_prompt_alert(self): pages.LoginPage(self.browser).open() self.browser.execute_script('prompt("Prompt alert");') # wait for alert WebDriverWait(self.browser, 5).until(EC.alert_is_present()) # Send some text alert = self.browser.switch_to.alert alert.send_keys('some text') sleep(2) self.browser.switch_to.alert.accept()
def test_tabs(self): pages.LoginPage(self.browser).open() # create new tab ac = ActionChains(self.browser) ac.send_keys(Keys.CONTROL) ac.send_keys('T') ac.perform() window_name = self.browser.window_handles[-1] self.browser.switch_to.window(window_name) pages.RegistrationPage(self.browser).open() self.browser.close() self.browser.switch_to.window(self.browser.window_handles[0]) self.browser.get('http://google.com')
def test_cookies(self): page = pages.LoginPage(self.browser) page.open() page.login('*****@*****.**', 'codespace') cookies = self.browser.get_cookies() # emulate logoff and clean session self.browser.delete_all_cookies() # open login page with logged off user page.open() print(cookies) for cookie in cookies: self.browser.add_cookie(cookie) sleep(5) page.open()
def step(context, filter_path): filter_category, filter_value = filter_path.split('->') pages.LoginPage(context.browser).filter_by(filter_category, filter_value)
def step(context): pages.LoginPage(context.browser).open()