''' Created on 15-Jun-2019 @author: ramya.n ''' from selenium import webdriver from selenium.webdriver.support.event_firing_webdriver import EventFiringWebDriver from EventListners.event_listeners import EventListeners #from Events.event_listeners import EventListeners web_driver = webdriver.Chrome() driver = EventFiringWebDriver(web_driver, EventListeners()) driver.maximize_window() driver.implicitly_wait(30) driver.get("https://demo.actitime.com/login.do") driver.find_element_by_id("username").send_keys("admin") driver.find_element_by_name("pwd").send_keys("manager") driver.find_element_by_id("Loginhgdhghdhgd").click() driver.quit
driver.execute_script("arguments[0].setAttribute('style', arguments[1]);", element, s) original_style = element.get_attribute('style') apply_style("background: yellow; border: 2px solid red;") time.sleep(.3) apply_style(original_style) plain_driver = webdriver.Chrome(executable_path=ChromeDriverManager().install()) #plain_driver=webdriver.Chrome(executable_path="C:/Users/shaik/PycharmProjects/drivers/chromedriver_win32/chromedriver.exe") driver=EventFiringWebDriver(plain_driver, EventListener()) driver.get("https://fs2.formsite.com/meherpavan/form2/index.html?1537702596407") driver.maximize_window() time.sleep(2) male_radio=driver.find_element_by_id("RESULT_RadioButton-7_0") print("Is Male radio button selected or not :",male_radio.is_selected()) print("Is Male radio button visible or not :",male_radio.is_displayed()) time.sleep(2) wait=WebDriverWait(driver,10) #wait.until(expected_conditions.element_to_be_clickable(male_radio)) if male_radio.is_selected(): print("radio button is already selected") else: print("radio button is NOT selected") highlight(male_radio) #male_radio.click() driver.execute_script("arguments[0].click();", male_radio) time.sleep(5) print("Is Male radio button visible or not :",male_radio.is_displayed()) print("Is Male radio button selected or not :",male_radio.is_selected())
class SeletiounTestMixin(unittest.TestCase): BASE_EXT_QUERIES = { 'app-main': "Ext.ComponentQuery.query('app-main')", 'error_msg': "Ext.ComponentQuery.query('messagebox[title=Error]{isVisible()}')", 'confirm_msg': "Ext.ComponentQuery.query('messagebox:visible')", 'cofirm_msg_btn': "Ext.ComponentQuery.query('messagebox:visible button[text=Yes]')[0]", 'is_masked': "Ext.getBody().isMasked()" } def setUp(self): options = webdriver.ChromeOptions() options.add_argument('headless') options.add_argument("--no-sandbox") options.add_argument("--disable-dev-shm-usage") self.driver = EventFiringWebDriver( webdriver.Chrome(chrome_options=options), ScreenshotListener()) self.driver.set_page_load_timeout(10) self.driver.set_script_timeout(10) self.driver.maximize_window() self.driver.get(self.get_host()) self.wait_content_is_ready() def wait_content_is_ready(self): self.wait_js( "document.readyState=='complete' && window.Ext != undefined && window.Ext.ComponentQuery != undefined && {app-main}.length>0 && {app-main}[0].rendered" .format(**self.BASE_EXT_QUERIES), 'View is not rendered!') def wait_js(self, query, error, timeout=20, silent=False): try: WebDriverWait(self.driver, timeout).until( lambda _: self.driver.execute_script("return %s" % query), error) except TimeoutException as e: if not silent: self.driver._listener.on_exception(e, self.driver.wrapped_driver) raise e def wait_while_load_mask(self, silent=False): self.wait_js("!Ext.getBody().isMasked()", 'Loading takes too much time.', silent=silent) def click_by_id(self, dom_id): element = self.driver.find_element_by_id(dom_id) builder = ActionChains(self.driver) builder.move_to_element(element).click(element).perform() def click_component(self, query): cmp_id = self.driver.execute_script("return %s.id" % query) self.driver.find_element_by_id(cmp_id).click() def get_host(self): return "http://127.0.0.1:%s" % TORNADO_PORT def open_page(self, relative_url): self.driver.get("%s/%s" % (self.get_host(), relative_url)) self.wait_content_is_ready() def refresh_page(self): self.driver.get(self.driver.current_url) self.wait_content_is_ready() def tearDown(self): self.driver.close() self.driver.quit()