Beispiel #1
0
class WebSettings(JDISettings):

    logger = JDILogger()
    domain = JDISettings.get_domain()

    @staticmethod
    def get_driver_factory():
        return JDISettings.get_driver_factory()

    @staticmethod
    def set_driver_factory(driver_factory):
        JDISettings._driver_factory = driver_factory

    @staticmethod
    def use_driver(driver_name):
        JDISettings._driver_factory = SeleniumDriverFactory()
        WebSettings.set_driver_factory(JDISettings._driver_factory)
        return JDISettings._driver_factory.register_driver(driver_name)

    @staticmethod
    def quit_browser():
        WebSettings.get_driver_factory().get_driver().quit()

    @staticmethod
    def get_driver():
        return WebSettings.get_driver_factory().get_driver()
Beispiel #2
0
 def __web_driver_settings(self, driver):
     if self.browser_size is None:
         driver.maximize_window()
     else:
         driver.set_window_size(self.browser_size)
     driver.implicitly_wait(JDISettings.get_current_timeout_sec())
     return driver
Beispiel #3
0
class WebSettings(JDISettings):

    logger = JDILogger()
    domain = JDISettings.get_domain()

    @staticmethod
    def get_driver_factory():
        return JDISettings.get_driver_factory()

    @staticmethod
    def set_driver_factory(driver_factory):
        JDISettings._driver_factory = driver_factory

    @staticmethod
    def use_driver(options=None, capabilities=None, executor=None):
        driver_name = JDISettings.get_setting_by_name("driver")
        JDISettings._driver_factory = SeleniumDriverFactory()
        WebSettings.set_driver_factory(JDISettings._driver_factory)
        return JDISettings._driver_factory.register_driver(driver_name, options, capabilities, executor)

    @staticmethod
    def quit_browser():
        driver = WebSettings.get_driver_factory().get_driver()
        driver.quit()
        try:
            driver.execute(Command.CLOSE)
        except Exception:
            pass

    @staticmethod
    def get_driver():
        return WebSettings.get_driver_factory().get_driver()
 def __web_driver_settings(self, driver):
     if self.browser_size is None:
         driver.maximize_window()
     else:
         driver.set_window_size(self.browser_size)
     driver.implicitly_wait(JDISettings.get_current_timeout_sec())
     return driver
Beispiel #5
0
 def is_empty(self):
     try:
         self.get_driver().implicitly_wait(0)
         row_count = self.rows.get_count(True)
         return row_count == 0
     finally:
         self.get_driver().implicitly_wait(JDISettings.get_current_timeout_sec())
 def test_focus(self):
     value = "value"
     attribute_name = "focusTest"
     self.text_field.set_attribute(attribute_name, value)
     self.text_field.focus()
     driver = JDISettings.get_driver_factory().get_driver()
     result_value = driver._switch_to.active_element.get_attribute(attribute_name)
     Assert.assert_equal(value, result_value)
Beispiel #7
0
 def is_empty(self):
     try:
         self.get_driver().implicitly_wait(0)
         row_count = self.rows.get_count(True)
         return row_count == 0
     finally:
         self.get_driver().implicitly_wait(
             JDISettings.get_current_timeout_sec())
Beispiel #8
0
 def test_focus(self):
     value = "value"
     attribute_name = "focusTest"
     self.text_field.set_attribute(attribute_name, value)
     self.text_field.focus()
     driver = JDISettings.get_driver_factory().get_driver()
     result_value = driver._switch_to.active_element.get_attribute(attribute_name)
     Assert.assert_equal(value, result_value)
Beispiel #9
0
 def __init__(self, url, title=None, domain=None, url_template=None, url_check_type=None, title_check_type=None):
     self.url = (JDISettings.get_domain() if domain is None else domain) + url
     self.title = title
     self.url_template = url_template
     if url_check_type is not None:
         self.check_url_type = url_check_type
     if title_check_type is not None:
         self.check_title_type = title_check_type
     super(WebPage, self).__init__()
Beispiel #10
0
 def set_attribute(self, attribute_name, value):
     JDISettings.get_driver_factory()\
         .get_driver().execute_script("arguments[0].setAttribute('{0}',arguments[1]);".format(attribute_name),
                                      self.get_element(), value)
Beispiel #11
0
 def is_in_state(self):
     str_value = self.value[0] if isinstance(self.value,
                                             tuple) else self.value
     if not WebPreconditions.check_url(str_value):
         WebPreconditions.open_uri(JDISettings.get_domain() + str_value)
 def __init__(self):
     self.current_driver = None
     self.browser_size = None
     self.drivers_path = JDISettings.get_driver_path()
Beispiel #13
0
 def get_driver():
     return JDISettings.get_driver_factory().get_driver()
Beispiel #14
0
 def mouse_over(self):
     driver = JDISettings.get_driver_factory().get_driver()
     ActionChains(driver).move_to_element(self.get_web_element()).perform()
Beispiel #15
0
 def get_driver():
     return JDISettings.get_driver_factory().get_driver()
Beispiel #16
0
 def hover_action(self, names):
     driver = JDISettings.get_driver_factory().get_driver()
     self._choose_item_action(names, lambda el: ActionChains(driver).move_to_element(el).click_and_hold().perform())
Beispiel #17
0
 def __init__(self, url, title=None, domain=None):
     self.url = (JDISettings.get_domain()
                 if domain is None else domain) + url
     self.title = title
     super(WebPage, self).__init__()
Beispiel #18
0
 def back(self):
     JDISettings.get_driver_factory().get_driver().back()
Beispiel #19
0
 def is_in_state(self):
     str_value = self.value[0] if isinstance(self.value, tuple) else self.value
     if not WebPreconditions.check_url(str_value):
         WebPreconditions.open_uri(JDISettings.get_domain() + str_value)
Beispiel #20
0
 def get_lines(self):
     return JDISettings.get_driver_factory() \
         .get_driver().execute_script("return arguments[0].value", self.get_element()).split("\n")
Beispiel #21
0
 def loose_focus():
     JDISettings.get_driver_factory().get_driver().find_element(By.CLASS_NAME,"footer-content").click()
Beispiel #22
0
 def drag_and_drop(self, target):
     driver = JDISettings.get_driver_factory().get_driver()
     ActionChains(driver).drag_and_drop(self.get_web_element(), target.get_web_element()).perform()
Beispiel #23
0
 def focus_action(self):
     size = self.get_web_element().size
     driver = JDISettings.get_driver_factory().get_driver()
     ActionChains(driver).move_to_element_with_offset(self.get_web_element(), size["width"] / 2, size["height"] / 2).perform()
Beispiel #24
0
 def check_all_unchecked(self):
     driver = JDISettings.get_driver_factory().get_driver()
     els = driver.find_elements(By.CSS_SELECTOR, value="#elements-checklist input")
     for el in els:
         Assert.assert_true(el.get_attribute("checked") in ["false", None])
Beispiel #25
0
 def check_url(self):
     return JDISettings.get_driver_factory().get_driver(
     ).current_url == self.url
Beispiel #26
0
def check_page_opened(num):
    Assert.assert_true(JDISettings.get_driver_factory().get_driver().current_url.endswith("/page{0}.htm".format(num)))
Beispiel #27
0
 def contains_title(self):
     return JDISettings.get_driver_factory().get_driver(
     ).current_title in self.title
Beispiel #28
0
 def get_chrome_driver_path():
     return JDISettings.get_driver_path() + "/chromedriver.exe"
Beispiel #29
0
 def forward(self):
     JDISettings.get_driver_factory().get_driver().forward()
Beispiel #30
0
 def is_check_action(self):
     driver = JDISettings.get_driver_factory().get_driver()
     return False if driver.find_element_by_xpath(
         "//*[@id='elements-checklist']//*[*[text()='Water']]/input"
     ).get_attribute("checked") is None else True
Beispiel #31
0
 def match_title(self):
     return JDISettings.get_driver_factory().get_driver(
     ).current_title.search(self.title)
Beispiel #32
0
 def set_attribute(self, attribute_name, value):
     JDISettings.get_driver_factory()\
         .get_driver().execute_script("arguments[0].setAttribute('{0}',arguments[1]);".format(attribute_name),
                                      self.get_element(), value)
Beispiel #33
0
 def click_center(self):
     driver = JDISettings.get_driver_factory().get_driver()
     ActionChains(driver).click(self.get_web_element()).perform()
Beispiel #34
0
 def add_cookie(self, cookie):
     JDISettings.get_driver_factory().get_driver().add_cookie(cookie)
Beispiel #35
0
 def mouse_over(self):
     driver = JDISettings.get_driver_factory().get_driver()
     ActionChains(driver).move_to_element(self.get_web_element()).perform()
Beispiel #36
0
 def check_title(self):
     return JDISettings.get_driver_factory().get_driver(
     ).title == self.title
Beispiel #37
0
 def focus_action(self):
     size = self.get_web_element().size
     driver = JDISettings.get_driver_factory().get_driver()
     ActionChains(driver).move_to_element_with_offset(
         self.get_web_element(), size["width"] / 2, size["height"] / 2
     ).perform()
Beispiel #38
0
 def clear_cache(self):
     JDISettings.get_driver_factory().get_driver().delete_all_cookies()
Beispiel #39
0
 def drag_and_drop(self, target):
     driver = JDISettings.get_driver_factory().get_driver()
     ActionChains(driver).drag_and_drop(self.get_web_element(), target.get_web_element()).perform()
Beispiel #40
0
 def contains_url(self):
     return JDISettings.get_driver_factory().get_driver(
     ).current_url in self.url
Beispiel #41
0
 def loose_focus():
     JDISettings.get_driver_factory().get_driver().find_element(
         By.CLASS_NAME, "footer-content").click()
Beispiel #42
0
 def match_url(self):
     return JDISettings.get_driver_factory().get_driver(
     ).current_url.search(self.url)
Beispiel #43
0
 def tearDown(self):
     JDISettings.get_driver_factory().get_driver().refresh()
Beispiel #44
0
 def refresh(self):
     JDISettings.get_driver_factory().get_driver().refresh()
Beispiel #45
0
def check_page_opened(num):
    Assert.is_true(
        JDISettings.get_driver_factory().get_driver().current_url.endswith(
            "/page{0}.htm".format(num)))
Beispiel #46
0
 def check_all_unchecked(self):
     driver = JDISettings.get_driver_factory().get_driver()
     els = driver.find_elements(By.CSS_SELECTOR,
                                value="#elements-checklist input")
     for el in els:
         Assert.assert_true(el.get_attribute("checked") in ["false", None])
Beispiel #47
0
 def get_chrome_driver_path():
     return JDISettings.get_driver_path() + "/chromedriver.exe"