Esempio n. 1
0
    def type_header(self, header, index=None):
        if index is None:
            index = 1

        self.open_more_options_menu(index)

        vals = header.values()
        keys = header.keys()
        length = len(vals)

        count = BasePage.count_elements(self, By.CSS_SELECTOR, self.row_number_prefix.format(index) +
                                        self.header_name_field)
        while count <= length:
            self.add_header_row(index)
            count += 1

        i = 0
        while i < len(vals):
            name = BasePage.find_element(self, By.CSS_SELECTOR, self.row_header_prefix.format(index, i + 1) +
                                         self.header_name_field)
            value = BasePage.find_element(self, By.CSS_SELECTOR, self.row_header_prefix.format(index, i + 1) +
                                          self.header_value_field)
            BasePage.type(self, keys[i], name)
            BasePage.type(self, vals[i], value)
            i += 1
Esempio n. 2
0
    def set_label(self, label, index=None):
        try:
            elems = BasePage.find_elements(self, By.CSS_SELECTOR, self.label)
        except NoSuchElementException:
            return None

        if not elems:
            self.add_url_field()
            elems = BasePage.find_elements(self, By.CSS_SELECTOR, self.label)

        if not index:
            for elem in elems:
                if elem.get_attribute('value') == '':
                    BasePage.type(self, label, elem)
                    return HttpTest
            self.add_url_field()
            elems = BasePage.find_elements(self, By.CSS_SELECTOR, self.label)
            BasePage.type(self, label, elems[len(elems) - 1])
            return HttpTest

        if index:
            rows_count = len(elems)
            if len(elems) < index:
                while rows_count < index:
                    self.add_url_field()
                    rows_count += 1
                elems = BasePage.find_elements(self, By.CSS_SELECTOR, self.label)
                BasePage.type(self, label, elems[index - 1])
            else:
                BasePage.type(self, label, elems[index - 1])
        return HttpTest
Esempio n. 3
0
    def set_url(self, url, index=None, type_test=None):
        try:
            elems = BasePage.find_elements(self, By.CSS_SELECTOR, self.url_field)
            selects = BasePage.find_elements(self, By.CSS_SELECTOR, self.type_select)
        except NoSuchElementException:
            return None

        if not elems:
            self.add_url_field()
            elems = BasePage.find_elements(self, By.CSS_SELECTOR, self.url_field)

        if not index:
            i = 0
            while i < len(elems):
                if elems[i].get_attribute('value') == '':
                    BasePage.type(self, url, elems[i])
                    if type_test:
                        selects = BasePage.find_elements(self, By.CSS_SELECTOR, self.type_select)
                        BasePage.select_option(self, type_test, selects[i])
                    return HttpTest
                i += 1
            self.add_url_field()
            elems = BasePage.find_elements(self, By.CSS_SELECTOR, self.url_field)
            selects = BasePage.find_elements(self, By.CSS_SELECTOR, self.type_select)
            BasePage.type(self, url, elems[len(elems) - 1])
            BasePage.select_option(self, type_test, selects[len(selects) - 1])
            return HttpTest

        if index:
            rows_count = len(elems)
            if len(elems) < index:
                while rows_count < index:
                    self.add_url_field()
                    rows_count += 1
                elems = BasePage.find_elements(self, By.CSS_SELECTOR, self.url_field)
                selects = BasePage.find_elements(self, By.CSS_SELECTOR, self.type_select)
                BasePage.type(self, url, elems[index - 1])
                BasePage.select_option(self, type_test, selects[index - 1])
            else:
                BasePage.type(self, url, elems[index - 1])
                BasePage.select_option(self, type_test, selects[index - 1])
        return HttpTest