def mouseHover(self): baseUrl = "https://letskodeit.teachable.com/p/practice/" driver = webdriver.Chrome() wrap = HandyWrappers(driver) driver.maximize_window() driver.implicitly_wait(5) driver.get(baseUrl) driver.execute_script("window.scrollBy(0, 600);") hoverElement = wrap.getElement("//button[@id='mousehover']") ActionChains(driver).move_to_element(hoverElement).perform() print("Moved mouse to MOUSE HOVER button") ActionChains(driver).pause(2).perform() topBtn = wrap.getElement("//a[@href='#top']") ActionChains(driver).move_to_element(topBtn).click().perform() print("Clicked TOP on MOUSE HOVER DROPDOWN") ActionChains(driver).pause(2).perform() driver.execute_script("window.scrollBy(0, 600);") ActionChains(driver).move_to_element(hoverElement).perform() print("Moved mouse to MOUSE HOVER button AGAIN") ActionChains(driver).pause(2).perform() reloadBtn = wrap.getElement("//a[text()='Reload']") ActionChains(driver).move_to_element(reloadBtn).click().perform() print("Clicked RELOAD on MOUSE HOVER DROPDOWN") ActionChains(driver).pause(3).perform()
def test(self): baseUrl = "https://letskodeit.teachable.com" driver = webdriver.Chrome() driver.maximize_window() wrapper = HandyWrappers(driver) driver.implicitly_wait(5) driver.get(baseUrl) wrapper.getElement("//a[@href='/sign_in']").click() email = wrapper.getElement("//input[@id='user_email']") email.send_keys("*****@*****.**") password = wrapper.getElement("//input[@id='user_password']") password.send_keys("abcabc") wrapper.getElement("//input[@type='submit']").click() searchBox = wrapper.getElement("//input[@id='search-courses']") searchBox.send_keys("JavaScript") searchBtn = wrapper.getElement("//button[@id='search-course-button']") searchBtn.click() _course = "//div[contains(@class, 'course-listing-title') and contains(text(), '{0}')]" _courseLocator = _course.format("JavaScript for beginners") ActionChains(driver).pause(1).perform() courseElement = wrapper.getElement(_courseLocator) courseElement.click() ActionChains(driver).pause(3).perform()
def test(self): baseUrl = "https://letskodeit.teachable.com/" driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(10) wrapper = HandyWrappers(driver) driver.get(baseUrl) loginLink = wrapper.getElement("//a[@href='/sign_in']") loginLink.click() emailField = wrapper.getElement("//input[@id='user_email']") emailField.send_keys("*****@*****.**")
def test(self): baseUrl = "https://learn.letskodeit.com/p/practice" driver = webdriver.Firefox() driver.maximize_window() driver.implicitly_wait(10) hw = HandyWrappers(driver) driver.get(baseUrl) textField1 = hw.getElement("name") textField1.send_keys("Test") time.sleep(2) textField2 = hw.getElement("//input[@id='name']", locatorType="xpath") textField2.clear()
def test(self): baseUrl = "https://www.google.com" driver = webdriver.Chrome(r"") driver.maximize_window() driver.get(baseUrl) hw = HandyWrappers(driver) textField1 = hw.getElement("") # It expect locator and locatorType textField1.send_keys("") time.sleep(3) textField2 = hw.getElement("//*[@id='name']", locatorType="xpath") # <-- XPATH textField2.clear()
def test(self): baseUrl = "https://letskodeit.teachable.com/pages/practice" chrome_driver_path = os.path.abspath( '..') + "\\Drivers\\chromedriver.exe" driver = webdriver.Chrome(chrome_driver_path) driver.maximize_window() driver.implicitly_wait(10) hw = HandyWrappers(driver) driver.get(baseUrl) textField1 = hw.getElement("name") textField1.send_keys("Test") time.sleep(2) textField2 = hw.getElement("//input[@id='name']", locatorType="xpath") textField2.clear()
def test(self): baseUrl = "https://letskodeit.teachable.com/p/practice" driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(5) hw = HandyWrappers(driver) driver.get(baseUrl) textField1 = hw.getElement("name", "id") textField1.send_keys("Text") ActionChains(driver).pause(2).perform() textField2 = hw.getElement("//input[@id='name']") textField2.clear() ActionChains(driver).pause(1).perform() textField2.send_keys("NEW TEXT") ActionChains(driver).pause(2).perform()
def test(self): baseUrl = "https://letskodeit.teachable.com/p/practice" driver = webdriver.Chrome() driver.maximize_window() wrapper = HandyWrappers(driver) driver.implicitly_wait(5) driver.get(baseUrl) hideShow = wrapper.getElement("//input[@id='displayed-text']") hideShow.send_keys("TEXT") ActionChains(driver).pause(2).perform() hideBtn = wrapper.getElement("//input[@id='hide-textbox']") hideBtn.click() ActionChains(driver).pause(2).perform() showBtn = wrapper.getElement("//input[@id='show-textbox']") showBtn.click() ActionChains(driver).pause(1).perform()
def test1(self): baseUrl = "http://www.expedia.com" driver = webdriver.Chrome() driver.maximize_window() wrapper = HandyWrappers(driver) driver.get(baseUrl) driver.implicitly_wait(5) #Click flights tab wrapper.getElement("//button[@id='tab-flight-tab-hp']").click() #Find departing field depField = wrapper.getElement("//input[@id='flight-departing-hp-flight']") #Click departing field depField.click() #Find the date to select dateToSelect = wrapper.getElement("//div[@class='col gcw-date-field']//div[2]//button[text()='26']") #Click the date dateToSelect.click() ActionChains(driver).pause(3).perform()
def test(self): baseUrl = "http://letskodeit.teachable.com/pages/practice" driverlocation = "/usr/local/bin/chromedriver" os.environ["webdriver.crome.driver"] = driverlocation # Instantiate Crome Browser Command driver = webdriver.Chrome(driverlocation) driver.maximize_window() driver.implicitly_wait(10) driver.get(baseUrl) # Now create an object hw which is the instance of the # HandyWrappers class hw = HandyWrappers(driver) textField = hw.getElement("name") textField.send_keys("Test") time.sleep(2) textField2 = hw.getElement("//input[@id='name']",locatorType="xpath") textField2.clear()
def test(self): base_url = "https://letskodeit.teachable.com/pages/practice" driver = webdriver.Firefox() driver.maximize_window() hw = HandyWrappers(driver) driver.get(base_url) text_field = hw.getElement("name", "id") text_field.send_keys("yippeekiyay") time.sleep(3) driver.quit()
def switchFrames(self): baseUrl = "https://letskodeit.teachable.com/p/practice" driver = webdriver.Chrome() wrap = HandyWrappers(driver) driver.maximize_window() driver.implicitly_wait(5) driver.get(baseUrl) driver.execute_script("window.scrollBy(0, 1000);") #Swith to frame usind ID #driver.switch_to.frame("courses-iframe") #Swith to frame using name #driver.switch_to.frame("iframe-name") #Switch to frame using numbers driver.switch_to.frame(0) #Serch cource ActionChains(driver).pause(2).perform() wrap.getElement("//input[@id='search-courses']").send_keys("python") wrap.getElement("//button[@id='search-course-button']").click() ActionChains(driver).pause(2).perform() #Switch back to the parent handle driver.switch_to.default_content() wrap.getElement("//input[@id='name']").send_keys("ON THE MAIN FRAME") ActionChains(driver).pause(2).perform()
def switchToAlert(self): baseUrl = "https://letskodeit.teachable.com/p/practice" driver = webdriver.Chrome() wrap = HandyWrappers(driver) driver.maximize_window() driver.implicitly_wait(5) driver.get(baseUrl) inputElement = wrap.getElement("//input[@id='name']") inputElement.send_keys("Sergey") print("Inputed text") alertBtn = wrap.getElement("//input[@id='alertbtn']") alertBtn.click() print("Clicked ALERT button") ActionChains(driver).pause(2).perform() alert1 = driver.switch_to.alert alert1.accept() print("Clicked OK(accepted)") ActionChains(driver).pause(2).perform() confirmBtn = wrap.getElement("//input[@id='confirmbtn']") confirmBtn.click() print("Clicked CONFIRM button") ActionChains(driver).pause(2).perform() alert2 = driver.switch_to.alert alert2.accept() print("Accepted alert") ActionChains(driver).pause(2).perform() confirmBtn.click() print("Clicked CONFIRM button again") ActionChains(driver).pause(2).perform() alert3 = driver.switch_to.alert alert3.dismiss() print("Dismissed alert") ActionChains(driver).pause(2).perform()
def test(self): baseUrl = "https://letskodeit.teachable.com" snap = TakeScreenshot() driver = webdriver.Chrome() driver.maximize_window() wrapper = HandyWrappers(driver) driver.get(baseUrl) driver.implicitly_wait(5) wrapper.getElement("//a[@href='/sign_in']").click() wrapper.getElement("//input[@id='user_email']").send_keys("*****@*****.**") wrapper.getElement("//input[@id='user_password']").send_keys("abc") wrapper.getElement("//input[@type='submit']").click() snap.takeScreenshot(driver) ActionChains(driver).pause(2).perform()
def sliders(self): baseUrl = "http://jqueryui.com/slider/" driver = webdriver.Chrome() wrap = HandyWrappers(driver) actions = ActionChains(driver) driver.maximize_window() driver.implicitly_wait(5) driver.get(baseUrl) driver.switch_to.frame(0) sliderElement = wrap.getElement("//div[@id='slider']/span") actions.pause(2).perform() try: actions.drag_and_drop_by_offset(sliderElement, 150, 0) print("Slided!") actions.pause(2).perform() except: print("Sliding Failed")
def switchWindow(self): baseUrl = "https://letskodeit.teachable.com/p/practice" driver = webdriver.Chrome() wrap = HandyWrappers(driver) driver.maximize_window() driver.implicitly_wait(5) driver.get(baseUrl) #Find parent window handle parentHandle = driver.current_window_handle print("Parent handle" + parentHandle) #find window btn and click it wrap.getElement("//button[@id='openwindow']").click() ActionChains(driver).pause(2).perform() #Find all handles handles = driver.window_handles #Switch to window and serch for handle in handles: print("Handle: " + handle) if handle not in parentHandle: driver.switch_to.window(handle) print("Switched to the window " + handle) searchBox = wrap.getElement("//input[@id='search-courses']") searchBox.send_keys("python") wrap.getElement("//button[@id='search-course-button']").click() ActionChains(driver).pause(2).perform() driver.close() break #Switch back to parent handle driver.switch_to.window(parentHandle) wrap.getElement("//input[@id='name']").send_keys("On Main Window") ActionChains(driver).pause(3).perform()
def test(self): baseUrl = "https://www.expedia.com" driver = webdriver.Chrome() wrapper = HandyWrappers(driver) driver.implicitly_wait(0.5) driver.maximize_window() driver.get(baseUrl) wrapper.getElement("//button[@id='tab-flight-tab-hp']").click() wrapper.getElement("//input[@id='flight-origin-hp-flight']").send_keys( "SFO") wrapper.getElement( "//input[@id='flight-destination-hp-flight']").send_keys("NYC") wrapper.getElement("//input[@id='flight-departing-hp-flight']" ).send_keys("03/01/2018") returnDate = wrapper.getElement( "//input[@id='flight-returning-hp-flight']") returnDate.clear() returnDate.send_keys("03/03/2018") searchBtn = wrapper.getElement( "//form[@id='gcw-flights-form-hp-flight']//div[@class='cols-nested']//label[@class='col search-btn-col']//button[@type='submit']" ) ActionChains(driver).move_to_element(searchBtn).click( searchBtn).perform() wrapper.getElement("//input[@id='stopFilter_stops-0']").click() ActionChains(driver).pause(3).perform()
def authModal(self, nombre, apellido, correo, area, rol, usuario, contraseña, check): try: driver = self.checkInfo( modulo= "http://ec2-34-210-56-229.us-west-2.compute.amazonaws.com:3001/#/administracion/:modulo", datos=[ "Nombre", "Apellidos", "Tipo", "Email", "Área", "Usuario", "Estatus" ]) if driver == None: print( "ocurrio un problema el driver no se retorno, proceso finalizado" ) return except: print("Error inesperado en el driver:", sys.exc_info()[0]) try: driver.quit() except: pass return su = SingUp() driver.find_element(By.XPATH, "//button[text()='Agregar usuario']").click() time.sleep(1) try: modal = driver.find_element( By.XPATH, "//div[@class='modal-dialog']//div[@class='modal-content']") except: print("element modal not found") su.takescreenshot(driver, namescren="FailModal", directory="TestModuleAdmin/") driver.quit() return try: modal.find_element(By.XPATH, "//div[@class='modal-header']") modal.find_element(By.XPATH, "//div[@class='modal-body']") modal.find_element(By.XPATH, "//div[@class='modal-footer']") except: su.takescreenshot(driver, namescren="FailModal", directory="TestModuleAdmin/") print("El modal no contiene una estructura valida") driver.quit() return try: su.takescreenshot(driver, namescren="Modal", directory="TestModuleAdmin/") driver.find_element(By.XPATH, "//input[@name='nombre']").send_keys(nombre) driver.find_element( By.XPATH, "//input[@name='apellido']").send_keys(apellido) driver.find_element(By.XPATH, "//input[@name='correo']").send_keys(correo) driver.find_element(By.XPATH, "//input[@name='area']").send_keys(area) sel = Select(driver.find_element(By.XPATH, "//select[@name='rol']")) #select sel.select_by_value(rol) driver.find_element(By.XPATH, "//input[@name='usuario']").send_keys(usuario) driver.find_element( By.XPATH, "//input[@type='password']").send_keys(contraseña) if check: checking = driver.find_element(By.XPATH, "//input[@name='activo']") driver.execute_script("arguments[0].click();", checking) su.takescreenshot(driver, namescren="CamposLlenos", directory="TestModuleAdmin/") driver.find_element(By.XPATH, "//input[@type='submit']").click() except: print("Error inesperado al registrar usuario :", sys.exc_info()[0]) driver.quit() return hw = HandyWrappers(driver) if hw.elementPresenceCheck( locator="//*[text()='¡El usuario ya existe!']", byType="xpath"): res = self.VerificarusrBD(usuario) if res > 0: print("Usuario existente, denegado con exito") else: print("El sistema denego un usuario valido") su.takescreenshot(driver, namescren="UsuarioExiste", directory="TestModuleAdmin/") driver.find_element( By.XPATH, "//button[contains(text(),'Aceptar')]").click() self.closeSshandConection() if not self.encuentraUsrFront(driver, 6, usuario): print( "El usuario denegado no se muestra en el front(esto no es correcto)" ) driver.quit() return su.takescreenshot(driver, namescren="UsuarioAgregado", directory="TestModuleAdmin/") driver.find_element(By.XPATH, "//button[contains(text(),'Aceptar')]").click() last = driver.find_element(By.XPATH, "//img[@src='./assets/img/last.png']") driver.execute_script("arguments[0].click();", last) res = self.VerificarusrBD(usuario) if res > 0: print("Usuario agregado correctamente a la BD") else: print("Ocurrio un problema al encontrar el usuario en la BD") driver.quit() return find_td = TD_VALIDAR.format(usuario) find = hw.getElement(locator=find_td, locatorType="XPATH") if not find: print("La pagina NO muestra correctamente el usuario") driver.quit() return down = driver.find_element(By.XPATH, "//img[contains(@src,'sort-down.png')]") driver.execute_script("arguments[0].click();", down) closesession = driver.find_element( By.XPATH, "// button[contains(text(), 'Cerrar sesión')]") driver.execute_script("arguments[0].click();", closesession) self.closeSshandConection() su.Login(driver=driver, user=usuario, passwd=contraseña, element={ "locator": "XPATH", "valueL": "//input[@type='text']" })