t.me/atinfo_chat Telegram группа по автоматизации тестирования

Select Frame не работает в Selenium2Library


(Mykhailo Poliarush) #1

пытаюсь выполнить автоматизацию веб приложения через RobotFramework c использованием Selenium2Library.

наткнулся на проблему с работой с iframe. 

проверил через оригинальный веб-драйвер - все работает нормально, значит проблема в библиотеке.

кто-то сталкивался с такой проблемой?


(Taras) #2

Может relativeup() сначала хочет, а потом фрейм выбирать уже ?


(Mykhailo Poliarush) #3

да вроде бы уже разобрался, проблема в самом реализации кейворда

def select_frame(self, locator):
        self._info("Selecting frame '%s'." % locator)
        element = self._element_find(locator, True, True, tag='frame')
        self._current_browser().switch_to_frame(element)

походу обработка тега в классе ElementFinder не реализованна, из-за этого получается, что ищется тег которого нету

def _get_tag_and_constraints(self, tag):
        if tag is None: return None, {}
        tag = tag.lower()
        constraints = {}
        if tag == 'link':
            tag = 'a'
        elif tag == 'image':
            tag = 'img'
        elif tag == 'list':
            tag = 'select'
        elif tag == 'radio button':
            tag = 'input'
            constraints['type'] = 'radio'
        elif tag == 'checkbox':
            tag = 'input'
            constraints['type'] = 'checkbox'
        elif tag == 'text field':
            tag = 'input'
            constraints['type'] = 'text'
        elif tag == 'file upload':
            tag = 'input'
            constraints['type'] = 'file'
        return tag, constraints

пришлось хачить код

def select_frame(self, locator):
        self._info("Selecting frame '%s'." % locator)
        element = self._element_find(locator, True, True)
        self._current_browser().switch_to_frame(element)

(Taras) #4

не очень понимаю язык на котором Вы пишете к сожалению ))

Java использую)