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()
Пример #3
0
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
Пример #5
0
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()
Пример #6
0
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
Пример #7
0
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()
Пример #8
0
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:
Пример #9
0
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")
Пример #10
0
'''
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