コード例 #1
0
ファイル: http_test_page.py プロジェクト: vanillasky59/bza
    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