def test_e2e(self): log = self.getLogger() homePage = HomePage(self.driver) checkoutpage = homePage.shopItems() log.info("getting all the card titles") cards = checkoutpage.getCardTitles() i = -1 for card in cards: i = i + 1 cardText = card.text log.info(cardText) if cardText == "Blackberry": checkoutpage.getCardFooter()[i].click() self.driver.find_element_by_css_selector( "a[class*='btn-primary']").click() confirmpage = checkoutpage.checkOutItems() log.info("Entering country name as ind") self.driver.find_element_by_id("country").send_keys("ind") # time.sleep(5) self.verifyLinkPresence("India") self.driver.find_element_by_link_text("India").click() self.driver.find_element_by_xpath( "//div[@class='checkbox checkbox-primary']").click() self.driver.find_element_by_css_selector("[type='submit']").click() textMatch = self.driver.find_element_by_css_selector( "[class*='alert-success']").text log.info("Text received from application is " + textMatch) assert ("Success! Thank you I am testing Git!" in textMatch)
def test_e2e(self): log = self.getLogger() homePage = HomePage(self.driver) checkoutPage = homePage.shopItems() log.info("getting all card titles") cards = checkoutPage.getCardTitles() i = -1 for card in cards: i = i + 1 cardText = card.text log.info(cardText) if cardText == "Blackberry": checkoutPage.getCardFooter()[i].click() checkoutPage.checkoutBtn().click() confirmPage = checkoutPage.checkOutItems() log.info("Entering country name") confirmPage.enterCountry().send_keys("ind") self.verifyLinkPresence("India") confirmPage.selectCountry().click() confirmPage.clickCheckBox().click() confirmPage.clickSubmitBtn().click() textMatch = confirmPage.alertVerify().text log.info("Text received from application is " + textMatch) assert ("Success! Thank you!" in textMatch)
def test_e2e(self): log = self.getLogger() homePage = HomePage(self.driver) checkOutPage = homePage.shopItem() cards = checkOutPage.productName() for prod in cards: name = prod.text print(name) log.info(name) if name == "Blackberry": checkOutPage.addtoCart().click() checkOutPage.checkOutone().click() confirmPage = checkOutPage.checkOuttwo() log.info("Entering Country name as India") confirmPage.purchaConf().send_keys("Ind") #wait = WebDriverWait(self.driver, 7) self.verifyLinkPresence("India") confirmPage.linkText().click() confirmPage.termsCondition().click() confirmPage.purchasConfirm().click() stext = confirmPage.confirmText().text log.info("Text received from application is "+stext) assert "Success!Very Thank you!" in stext print(stext) print("Dinesh Kannan") print("*****@*****.**") assert "Success! Thank you!" in stext self.driver.get_screenshot_as_file("screen.png")
def test_7_fileUpload(self): # Home page menu - Form Authentication homePage = HomePage(self.driver) homePage.formAuthentication().click() #Login Success time.sleep(2) # wait until 2 seconds actionPage = ActionPage(self.driver) testData = TestData() actionPage.loginTest(testData.getUsersData()[0][0], testData.getUsersData()[0][1]) time.sleep(2) # wait until 2 seconds self.driver.find_element_by_xpath("//*[@id='login']/button").click() time.sleep(2) # wait until 2 seconds #Logout button time.sleep(2) # wait until 2 seconds self.driver.find_element_by_xpath("//*[@id='content']/div/a").click() time.sleep(2) # wait until 2 seconds #Login failed time.sleep(2) # wait until 2 seconds actionPage.loginTest(testData.getUsersData()[1][0], testData.getUsersData()[1][1]) #“Your password is invalid!” Message time.sleep(2) # wait until 2 seconds self.driver.find_element_by_xpath("//*[@id='login']/button").click() time.sleep(2)
def test_Login(self): logger.info("开始执行登录脚本...") #获取是否执行列 isExecuteUser = TestLogin.excelObj.get_col_values(login_isExecute) for idx, i in enumerate(isExecuteUser[1:]): start_time = time.time() if i == 'Y': username = TestLogin.excelObj.get_cell_value( idx + 2, acount_username) password = TestLogin.excelObj.get_cell_value( idx + 2, acount_password) logger.info("执行测试数据:%s,%s" % (username, password)) try: options = webdriver.ChromeOptions() browser = webdriver.Chrome(options=options) browser.maximize_window() browser.get(loginpageUrl) logger.info('启动浏览器,访问登录页面...') LoginAction.login(username, password, browser) logger.info('登录操作执行...') try: # browser.implicitly_wait(5) # 如果在首页页面找到MDT管理系统logo,则通过测试用例,如果没找到该logo则测试用例未通过 homepage = HomePage(browser) self.assertIs(homepage.logoDiv().is_displayed(), True) logger.info('在首页页面找【MDT管理系统】logo') except Exception as e: # self.assertTrue(1 == 2) logger.debug('在首页页面找不到【MDT管理系统】logo,失败,用例不通过') TestLogin.excelObj.write_cell_value( idx + 2, login_testResult, 'fail', 'red') TestLogin.excelObj.write_cell_value( idx + 2, login_time, str(time.time() - start_time) + 's', 'red') raise e else: logger.info('在首页页面找到【MDT管理系统】logo,成功,用例通过') TestLogin.excelObj.write_cell_value( idx + 2, login_testResult, 'success', 'green') TestLogin.excelObj.write_cell_value( idx + 2, login_time, str(round( (time.time() - start_time) / 1000, 2)) + 's') except ElementNotVisibleException as e: logger.error("数据问题,元素没有找到..") except NoSuchElementException as e: logger.error("数据问题..重试") except Exception as e: logger.error(e) raise e else: continue
def test_e2e(self): homePage = HomePage(self.driver) homePage.shopItems().click() self.driver.find_element_by_css_selector("a[href*='shop']").click() cards = self.driver.find_element_by_css_selector(".card-title a") i = -1 '''for card in cards:
def test_abTesting(self, getData): log = self.get_logger() homePage = HomePage(self.driver) abTestingPage = homePage.returnABTestingPage() log.info("Given h3 text is " + abTestingPage.returnh3text()) self.driver.add_cookie(getData) self.driver.refresh() assert abTestingPage.returnh3text() == "No A/B Test"
def test_5_fileDownload(self): # Home page menu - File Download homePage = HomePage(self.driver) homePage.fileDownload().click() #Click on download link self.driver.find_element_by_link_text("some-file.txt").click() time.sleep(2)
def test_e2e(self): log = self.getLogger() homePage = HomePage(self.driver) checkoutPage = homePage.shopItem() #self.driver.find_element(By.CSS_SELECTOR, "a[href*='shop']").click() log.info("Getting all the cart Iteams") #checkoutPage = CheckoutPage(self.driver) ele_mobtext = checkoutPage.MobItems() #ele_mobtext = self.driver.find_elements(By.CSS_SELECTOR, 'h4.card-title') ele_add = checkoutPage.AddItem() #ele_add = self.driver.find_element(By.XPATH, "//*[@class='col-lg-3 col-md-6 mb-3'][4]//button") for ele in ele_mobtext: if ele.text == "Blackberry": time.sleep(1) ele_add.click() # ele_check = checkoutPage.CheckItem() checkoutPage.CheckItem().click() #ele_check = self.driver.find_element(By.PARTIAL_LINK_TEXT, 'Checkout') # time.sleep(2) # ele_check.click() # Product page **************************************************************** ele_prod = checkoutPage.ProdItem() #ele_prod = self.driver.find_element(By.XPATH, "//th[text()='Product']") print(ele_prod.text) assert "Product" == ele_prod.text assert ele_prod.is_displayed() time.sleep(1) confirmPage = checkoutPage.ButtonItem() #self.driver.find_element(By.XPATH, "//button[@class='btn btn-success']").click() log.info("Entering country name India") #confirmPage = ConfirmPage(self.driver) confirmPage.CountryItem().send_keys("INDIA") #self.driver.find_element(By.XPATH, "//input[@id='country']").send_keys("INDIA") self.verifyLinkPrasence("India") #Explicite wait from base class confirmPage.IndiaItem().click() #self.driver.find_element(By.XPATH, "//li//a[text()='India']").click() confirmPage.TermItem().click() #self.driver.find_element(By.XPATH, "//label[contains(text(),'I agree with the')]").click() time.sleep(2) confirmPage.PurbuttonItem().click() #self.driver.find_element(By.XPATH, "//input[@class='btn btn-success btn-lg']").click() ele_disp = confirmPage.AlertItem() #ele_disp = self.driver.find_element(By.CLASS_NAME, "alert-success") ans = ele_disp.text assert ele_disp.is_displayed() assert "Success!" in ans self.driver.get_screenshot_as_file("screen.png")
def addressLink(driver): ''' 点击通讯录按钮 :param driver: :return: ''' homePage = HomePage(driver) # 点击通讯录 homePage.addressLink().click()
def test_logout(self, setup): self.logger.info("Verifying logout functionality.") self.driver = setup self.driver.get(self.baseURL) loginPage = LoginPage(self.driver) loginPage.setUserName(self.username) loginPage.setPassword(self.password) loginPage.clickLogin() homepage = HomePage(self.driver) homepage.logout(self.logger)
def test_chiffon_dress_selection(self): home_page = HomePage(self.driver) home_page.get_dresses() time.sleep(5) # Navigate to dresses page dresses_page = DressesPage(self.driver) self.driver.execute_script("window.scrollTo(0, 1000);") dresses_page.get_add_to_cart("Printed Chiffon Dress") time.sleep(5)
def test_empty_contact_us_submission(self): home_page = HomePage(self.driver) home_page.get_contact_us() # Redirection to Contact Us form page contact_us_page = ContactUsPage(self.driver) contact_us_page.send_contact_form().click() failure_text = contact_us_page.get_contact_form_fail().text form_submission_fail = "Invalid email address." assert (failure_text in form_submission_fail) self.driver.refresh()
def test_existingUserRegistered(self): homepage = HomePage(self.driver) self.log.info("Chrome driver is selected ....") self.log.info("page title : ", self.driver.title) accountregister = AccountRegistrationPage(self.driver) loginpage = homepage.click_SignIn() accountregister.enterRegisteredEmail("*****@*****.**") registeredMessage = accountregister.getExistingUserMsg().text self.log.info("All ready Registered Message : ", registeredMessage) assert registeredMessage in accountregister.duplicateMsg
def test_facebookserach(self, setup): log = self.getLoger() log.info('____Tests_002__Started____') self.driver = setup self.login.test_login(setup) time.sleep(2) homepage = HomePage(self.driver) homepage.searshFacebook(self.users) self.driver.save_screenshot(self.screenshotpath.takeScreenshot()) self.driver.close() log.info('____Test02__ended____')
def test_homepage(self, getData): homepage = HomePage(self.driver) homepage.getName().send_keys(getData["firstname"]) homepage.getEmail().send_keys(getData["email"]) select = Select(homepage.getDropDown()) select.select_by_visible_text(getData["gender"]) homepage.getSubmit().click() self.driver.refresh()
def test_e2e(self): log = self.get_logger() log.info("*****Testcase 3 : Search Micromax Mobile*****") homePage = HomePage(self.driver) name_to_search = self.read_from_excel("test3") log.debug( f"Successfully read the mobile name to search from Excel ::{name_to_search['Mobile_name'][0]} " ) homePage.search_product_and_expect_error_screenshot( name_to_search['Mobile_name'][0]) log.debug("Successfully taken the sceenshot of the error page") log.info("*****END : Testcase 5*****\n")
def test_ChallengingDOM(self, getData): log = self.get_logger() homePage = HomePage(self.driver) ChallengingDOMPage = homePage.returnChallengingDOM() ChallengingDOMElements = ChallengingDOMPage.returnChallengingDOMElements( getData) found = 0 for element in ChallengingDOMElements: if getData["var"] in element.text: found = 1 break assert found == 1
def test_addRemoveElements(self,getData): log = self.get_logger() homePage = HomePage(self.driver) addRemoveElementsPage = homePage.returnAddRemoveElementsPage() for i in range(0,getData["AddElements"]): addRemoveElementsPage.returnAddElement() for i in range(0, getData["DelElements"]): addRemoveElementsPage.returnDeleteElement() assert addRemoveElementsPage.returnDeleteElementsSize() == 0
def test_e2e(self): log = self.get_logger() home_page = HomePage(self.driver) # send driver to HomePage.py # Click on menu button for shop checkout_page = home_page.shop_items() log.info("Getting all products") # load list of products into a list products = checkout_page.get_card_titles() # iterate through the list to find the desiredProduct variable and then click on the add to cart button i = -1 for product in products: i += 1 product_text = product.text log.info(product_text) if "Blackberry" in product_text: checkout_page.get_card_footer()[i].click() # click on the cart button checkout_page.get_cart_button().click() # test case to make sure desiredProduct is in the cart assert checkout_page.get_product_text().text == "Blackberry" # load item total and cart total into variables and then run test case to make sure they match assert checkout_page.get_cart_total( ).text == checkout_page.get_item_total().text # click on the checkout button confirm_page = checkout_page.get_checkout_button() # locate suggestion text box, enter text, and then wait until the suggestions element has loaded log.info("Entering country name as unit") confirm_page.get_country_element().send_keys('unit') self.verify_link_presence("United States of America") # click on desired suggestion confirm_page.get_country().click() # use javascript to click checkbox # checkbox = driver.find_element_by_id("checkbox2") # driver.execute_script("arguments[0].click();", checkbox) # click the checkbox confirm_page.get_checkbox().click() # click purchase button confirm_page.get_purchase_button().click() text_match = confirm_page.get_success_alert().text log.info("Text received from the application is: " + text_match) # look for success text assert "Success" in text_match log.info("Text matched")
def test_create_account(self): home_page = HomePage(self.driver) home_page.get_sign_in() time.sleep(5) auth_page = AuthenticationPage(self.driver) # element = driver.find_element(someLocatorHere) # self.driver.execute_script("arguments[0].scrollIntoView(true);", AuthenticationPage.create_email) self.driver.execute_script("window.scrollTo(0, 500);") time.sleep(2) auth_page.get_create_email().send_keys("*****@*****.**") time.sleep(2) auth_page.get_create_email_submit().click()
def test_e2e(self): log = self.test_getLogger() homePage = HomePage(self.driver) homePage.shopItems().click() self.driver.implicitly_wait(5) ##Choose All Products and Parent-Child Tag Movement Concept Application checkoutPage = CheckoutPage(self.driver) log.info("Getting all the Cart Titles") Products = checkoutPage.getproductItems() ProductName = checkoutPage.getProductName() ProductButton = checkoutPage.getProductButton() i = -1 for product in ProductName: i = i+1 ProdName = product.text log.info(ProdName) if ProdName == "Blackberry": ProductButton[i].click() break # Proceed to Checkout firstCheckOut = checkoutPage.getCheckoutPageConfirm() firstCheckOut.click() finalCheckOut = checkoutPage.getFinalCheckoutConfirm() finalCheckOut.click() ##Confirm Page - Auto Suggestive Dropdown List confirmPage = ConfirmPage(self.driver) log.info("Entering Country Name as Ind") sendCountry = confirmPage.getCountry() sendCountry.send_keys("Ind") #Explicit wait - Common in Base Class self.verifyLinkPresenceWait("India") confirmPage.getSelectedCountry().click() confirmPage.getClickCheckBox().click() confirmPage.getPurchaseButton().click() assert self.driver.find_element_by_xpath("//input[@id='checkbox2']").is_selected() ##Validate Text print(self.driver.find_element_by_xpath("//div[@class='alert alert-success alert-dismissible']").text) Sucess_Text = "Success! Thank you! Your order will be delivered in next few weeks :-)." log.info("Test received from Apllication is: "+Sucess_Text) log.info("Succesfull Shopping -- Happy to Serve you") assert "Success! Thank you" in Sucess_Text
def test_BrokenImages(self): log = self.get_logger() homePage = HomePage(self.driver) brokenImagesPage = homePage.returnBrokenImagesPage() brokenImagesList = brokenImagesPage.returnImages() brokenImageCount = 0 for image in brokenImagesList: src = image.get_attribute("src") req = requests.get(src) if req.status_code != 200: brokenImageCount = brokenImageCount + 1 log.error("The image link is not working " + src) assert brokenImageCount == 0
def test_signin(self, getData): log = self.getLogger() log.info("Sign in form:") homepage = HomePage(self.driver) userName = getData["username"] log.info("UserName: "******"username"]) homepage.signin_button().click() log.info("Clicking on sing in button...") self.verifyLinkPresenceByName("loginusername") email = homepage.getUsername().send_keys(getData["email"]) log.info("Email: " + getData["email"]) password = homepage.getPassword().send_keys(getData["password"]) log.info("Password: "******"password"]) signinButton = homepage.getLoginButton().click() self.verifyLinkPresenceByText(userName) signinName = str(homepage.getSigninName().text) signinName = signinName.replace("היי,", "") log.info("Singed in Username: " +signinName) assert signinName in userName
def test_formSubmission(self, getData): log = self.getLogger() homePagetest = HomePage(self.driver) homePagetest.inputName().send_keys(getData["Name"]) log.info("first name is - "+getData["Name"]) homePagetest.inputEmail().send_keys(getData["Email"]) log.info("first name is - "+getData["Email"]) homePagetest.inputPassword().send_keys(getData["Password"]) log.info("first name is - "+getData["Password"]) #self.selectOptionByTest(HomePage.getGender(), "Male") homePagetest.inputSubmit().click() self.driver.refresh() log.info("test_homepage - Order Placed")
def test_2_contextMenu(self): # Home page menu - Context Menu homePage = HomePage(self.driver) homePage.contextMenu().click() #Select context menu actions = ActionChains(self.driver) actions.context_click(self.driver.find_element_by_id("hot-spot")).perform() time.sleep(2) # wait until 2 seconds #Model page - Accept option self.driver.switch_to.alert.accept() time.sleep(2)
def test_AddNewCustomer(self, setup): self.logger.info( "############## Verifying login test####################") self.driver = setup self.driver.get(self.baseURL) self.lp = LoginPage(self.driver) self.lp.setField(self.lp.email_id, self.username) self.lp.setField(self.lp.password_id, self.password) self.lp.clickOn(self.lp.login_xpath).click() home_title = self.driver.title self.logger.info(home_title) self.homePage = HomePage(self.driver) self.homePage.clickOn(self.homePage.customer_menu_xpath).click() self.homePage.clickOn(self.homePage.customerButton_xpath).click() self.homePage.clickOn(self.homePage.add_button_xpath).click() time.sleep(3) self.logger.info("********* Entered Add customer Page **** *****") self.email = random_generator() + "@gmail.com" self.homePage.setField(self.homePage.txtboxEmail_xpath, self.email) self.homePage.setField(self.homePage.txtboxPassword_xpath, "kushal@123") self.homePage.setField(self.homePage.txtboxFirstName_xpath, "vini") self.homePage.setField(self.homePage.txtboxLastName_xpath, "tp") self.homePage.setGender("Male") self.homePage.get_DatePicker("May", "2000", "25") # self.homePage.setDOB("3/1/2021") self.homePage.setField(self.homePage.txtboxCompany_xpath, "Tata Consultancy Services Limited") self.homePage.clickOn(self.homePage.cbTaxExempt_xpath).click() self.homePage.setField(self.homePage.txtAdminComment_xpath, "Kushal is our god") self.homePage.setManagerOfVender("Vendor 1") self.homePage.setCustomerRoles("Vendors") time.sleep(3) self.homePage.clickOn(self.homePage.btnSave_xpath).click() time.sleep(3) self.msg = self.driver.find_element_by_tag_name("body").text print(self.msg) if 'customer has been added successfully.' in self.msg: assert True self.driver.close() self.logger.info("********* Add customer Test Passed *********") else: self.driver.save_screenshot( ".\\Screenshots\\" + "test_addCustomer_scr.png") # Screenshot self.logger.info("********* Add customer Test Failed ************") self.driver.close() assert False self.logger.info("******* Ending Add customer test **********")
def test_e2e(self): log = self.getLogger() homePage = HomePage(self.driver) homePage.shopItems().click() #self.driver.get_screenshot_as_file("rahul.png") checkOutPage = CheckOutPage(self.driver) products = checkOutPage.getProducts() # //*[@class='card h-100']/div/h4/a for product in products: productName = product.find_element_by_xpath("//*[@class='card h-100']/div/h4/a").text log.info("Product name ==> "+productName) if productName == "Blackberry": product.find_element_by_xpath("//*[@class='card h-100']/div[2]/button").click() self.driver.find_element_by_xpath("//a[@class='nav-link btn btn-primary']").click() self.driver.find_element_by_xpath("//*[contains(text(),'Checkout')]").click() log.info("Typing a country name") self.driver.find_element_by_id("country").send_keys("Turkey") #wait = WebDriverWait(self.driver, 10) #wait.until(expected_conditions.element_to_be_clickable((By.XPATH, "//*[@class='suggestions']//li/a"))) self.webDriverWait(10,(By.XPATH, "//*[@class='suggestions']//li/a")) # time.sleep(10) self.driver.find_element_by_xpath("//*[@class='suggestions']//li/a").click() self.driver.find_element_by_xpath("//*[contains(text(),'agree with')]").click() self.driver.find_element_by_xpath("//*[@type='submit']").click() message = self.driver.find_element_by_xpath("//*[contains(@class,'alert-dismissible')]").text log.info("The alert message ==> "+message) assert "Thank dfghgjyou!" in message
def test_SignIn(self): driver = Chrome(ChromeDriverManager().install()) driver.get("https://amazon.in") log = self.getLogger() hp = HomePage(driver) log.info(driver.title) # hp.pinCode().send_keys("560037") hp.searchField().send_keys("iphone") # hp.startShopping().click() sign = SignInPage(driver) # sign.mobileNumField().send_keys("134513454") sign.singIn().click() time.sleep(3)
def test_process_pending_orders(self, setup): self.driver = setup self.driver.get(self.baseurl) self.driver.maximize_window() self.driver.implicitly_wait(10) self.hp = LoginPage(self.driver) self.hp.test_loginToApplication(self.username, self.password) self.hp = HomePage(self.driver) self.hp.clickOrdersLink() self.op = OrderPage(self.driver) self.op.test_updateOrderStatus(self.orderstatus, self.after_orderStatus)