def browser(logger, request): selected_browser = request.config.getoption('--browser') if selected_browser not in ('firefox', 'chrome'): raise ValueError( f'--browser option can only be "firefox" or "chrome", received "{selected_browser}"' ) executor = request.config.getoption('--executor') browser_logger = logging.getLogger('Browser') logger.info(f'Starting {selected_browser.capitalize()}') browser = EventFiringWebDriver( webdriver.Remote( command_executor=f'http://{executor}:4444/wd/hub', desired_capabilities={ 'browserName': selected_browser, 'loggingPrefs': { 'browser': 'ALL' }, 'acceptInsecureCerts': True, }, ), EventListener(browser_logger), ) browser.implicitly_wait(request.config.getoption('--time')) browser.get(request.config.getoption('--url')) # Ожидание на случай первоначальной установки WebDriverWait(browser, 100).until(EC.visibility_of_element_located(HEADER)) failed = request.session.testsfailed yield browser if request.session.testsfailed > failed: browser.save_screenshot( f'screenshots/{datetime.now().strftime("%d-%m-%Y %H-%M-%S")}.png') browser.quit()
class EnvironmentSetup(unittest.TestCase): PAGE_LOAD_TIME = 20 IMPLICITLY_WAIT = 10 log = cl.customLogger(logging.DEBUG) def setUp(self): self.log.debug("Properties initialization") self.prop = Property() try: self.dic_prop = self.prop.load_property_files("/Users/user/PycharmProjects/BGETest/config/config.properties") self.log.debug("Properties successfully loaded.") self.log.debug(self.dic_prop) except FileNotFoundError as err: self.log.error("config.properties file not found!!!") raise ValueError("There is no config.properties file in the project directory" + str(err)) browserName = self.dic_prop.get("browser", "chrome") if browserName.lower() == "firefox": self.driver = webdriver.Firefox() self.log.debug("Object for firefox is created - " + str(self.driver)) elif browserName.lower() == "chrome": self.driver = webdriver.Chrome() self.log.debug("Object for chrome is created - " + str(self.driver)) elif browserName.lower() == "safari": self.driver = webdriver.Safari() self.log.debug("Object for safari is created - " + str(self.driver)) else: raise ValueError("Unknown browser, please check the config.properties file") self.eventListener = WebEventListener() self.driver = EventFiringWebDriver(self.driver, self.eventListener) self.driver.maximize_window() self.driver.delete_all_cookies() self.log.debug("Cookies are successfully deleted") self.driver.set_page_load_timeout(self.PAGE_LOAD_TIME) self.driver.implicitly_wait(self.IMPLICITLY_WAIT) self.driver.get(self.dic_prop.get("url")) self.longMessage = False self.log.debug(self.id()) self.screenshot = ScreenShot(self.driver) try: self.screenshotName = "./results/{}.png".format(str(self.id()).split('.')[3]) except IndexError: self.screenshotName = "./results/{}.png".format(str(self.id()).split('.')[2]) def tearDown(self): if self.driver is not None: self.driver.close() self.driver.quit()
def get_chrome_driver(): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--start-maximized") capabilities = chrome_options.to_capabilities() capabilities['loggingPrefs'] = {'performance': 'INFO'} driver = webdriver.Chrome(executable_path=chrome_path_url, desired_capabilities=capabilities) listener = WebEventListener() driver = EventFiringWebDriver(driver, listener) driver.implicitly_wait(3) return driver
def start_browser(browser_name, url): web_driver = None if browser_name == "chrome": web_driver = webdriver.Chrome( executable_path=".\\resources\\drivers\\chromedriver") elif browser_name == "firefox": web_driver = webdriver.Firefox( executable_path=".\\resources\\drivers\\geckodriver") driver = EventFiringWebDriver(web_driver, MyListener()) driver.implicitly_wait(properties.get_implicit_wait()) driver.maximize_window() driver.get(url) return driver
def driver(request): """Launching webdriver""" browser_name = request.config.getoption("--browser") print(browser_name) if browser_name == 'firefox': capabilities = webdriver.DesiredCapabilities.FIREFOX.copy() capabilities['timeouts'] = { 'implicit': 300000, 'pageLoad': 300000, 'script': 30000 } capabilities['loggingPrefs'] = { 'browser': 'ALL', 'client': 'ALL', 'driver': 'ALL', 'performance': 'ALL', 'server': 'ALL' } profile = webdriver.FirefoxProfile() profile.set_preference('app.update.auto', False) profile.set_preference('app.update.enabled', False) profile.accept_untrusted_certs = True wd = EventFiringWebDriver( webdriver.Firefox(firefox_profile=profile, capabilities=capabilities), TestListenerDB()) wd.maximize_window() elif browser_name == 'chrome': capabilities = webdriver.DesiredCapabilities.CHROME.copy() capabilities['acceptSslCerts'] = True capabilities['acceptInsecureCerts'] = True capabilities['goog:loggingPrefs'] = {'performance': 'ALL'} # chrome_options = Options() # chrome_options.add_experimental_option('w3c', False) wd = EventFiringWebDriver( webdriver.Chrome(desired_capabilities=capabilities), TestListenerDB()) wd.fullscreen_window() else: print('Unsupported browser!') sys.exit(1) wd.implicitly_wait((request.config.getoption("--iwait"))) wd.set_page_load_timeout((request.config.getoption("--pltimeout"))) implicitly_wait = request.config.getoption("--iwait") page_load_timeout = request.config.getoption("--pltimeout") print(implicitly_wait) print(page_load_timeout) yield wd wd.quit()
def wd(request, base_url, logger): """ Браузер по умолчанию Chrome """ browser = request.config.getoption("--browser") selenoid = request.config.getoption("--selenoid") executor = request.config.getoption("--executor") if selenoid: capabilities = { "browserName": browser, "version": "", "enableVNC": True, "enableVideo": False, "acceptSslCerts": True } hub = f"http://{executor}:4444/wd/hub" driver = webdriver.Remote(command_executor=hub, desired_capabilities=capabilities) else: if browser == "chrome": options = webdriver.ChromeOptions() options.add_argument('headless') options.add_argument('--ignore-certificate-errors') options.add_argument('--ignore-ssl-errors') driver = webdriver.Chrome(options=options) elif browser == "firefox": options = webdriver.FirefoxOptions() options.add_argument('--ignore-certificate-errors') options.add_argument('--ignore-ssl-errors') options.add_argument("-headless") driver = webdriver.Firefox(options=options) logger.info(f"Getting started browser {browser}") driver = EventFiringWebDriver(driver, WdEventListener(logging.getLogger("DRIVER"))) driver.implicitly_wait(request.config.getoption("--time")) driver.maximize_window() yield driver data_on_failed_test(browser, driver, request) driver.quit() logger.info(f"Browser {browser} shutdown") return driver
def driver(request, logger, proxy): browser = request.config.getoption("--browser") implicit_wait = request.config.getoption("--wait") if browser == 'chrome': chrome_options = Options() chrome_options.add_argument(f'--proxy-server={proxy.proxy}') chrome_options.add_experimental_option('w3c', False) # chrome_options.add_argument("--start-fullscreen") # chrome_options.add_argument("--headless") driver = EventFiringWebDriver(Chrome(options=chrome_options), MyListener(logger)) # driver = webdriver.Remote( # "http://localhost:4444/wd/hub", # desired_capabilities={'browserName': 'chrome'}) elif browser == 'firefox': driver = Firefox() elif browser == 'safari': driver = Safari() else: raise ValueError(f'Unrecognized browser {browser}') driver.implicitly_wait(implicit_wait) yield driver driver.quit()
ef_driver.get(dominion_url) # ef_driver.implicitly_wait(15) try: username_input = wait_for_presence_of_element("username-input", "ID") username_input.clear() username_input.send_keys("schlafi") except: print("Da kam nix! :(") try: passwd_input = wait_for_presence_of_element("password", "NAME") passwd_input.clear() passwd_input.send_keys("ganxta89") print("login form filled") ef_driver.implicitly_wait(5) passwd_input.send_keys(Keys.ENTER) except: print("login fail") ng_click = "[@ng-click='$ctrl.automatch.botMatch(1)']" # try: # ef_driver.implicitly_wait(10) # buttons = ef_driver.find_elements_by_xpath("//button") # if buttons: # for button in buttons: # print(button.text) # print(button.get_attribute("class")) # print(button.get_attribute("ng-click")) # except:
from selenium import webdriver from time import sleep from selenium.webdriver.support.event_firing_webdriver import EventFiringWebDriver from Weblistner.listener import MyListeners driver = webdriver.Chrome() event_driver = EventFiringWebDriver(driver, MyListeners()) event_driver.implicitly_wait(10) event_driver.get("https://demo.actitime.com/login.do")
''' 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