Платформа робота не обнаруживает подкаталоги

#selenium #robotframework

#selenium #robotframework

Вопрос:

У меня возникла проблема с robotframework, не загружающим классы в определенный каталог. Мой макет выглядит следующим образом:

 Dir1
  class1
  class2
Dir2
  class3
  class4
Dir3
  class5
class6
test.robot
  

Таким образом, файлы dir1-3, class6 и test.robot находятся в одном корневом каталоге. Когда я запускаю свой скрипт test.robot, он должен вызывать класс и функцию class3 в dir2. Однако, когда он доходит до этого шага, он получает сообщение об ошибке «ключ не найден». Я попытался изменить код, чтобы использовать функцию в class1 dir1, и это сработало без проблем. Файлы почти точно такие же (классы автоматизации selenium, которые все связаны через class6).

Теперь весь мой код написан на python. Я удалил все файлы .pyc из всех каталогов, затем снова запустил скрипт робота. После запуска скрипта робота все файлы .pyc были воссозданы заново, за исключением этих классов в Dir2. Итак, я могу сделать вывод, что скрипт по какой-то причине не попадает в этот каталог, и я не могу понять, почему. Вот как выглядит мой скрипт робота:

 *** Settings ***
Library     SeleniumLib

*** Test Cases ***
Database Download
    Class6.init_class
    Class6.function1
    Class5.function2
    Class3.function3
  

Обратите внимание, что SeleniumLib — это имя «корневого» каталога. При выполнении выполняется init_class (в основном ручной конструктор), затем function1 . Все остальные классы расширяют class6, поэтому class5 и 3 являются расширениями 6. Вызов function2 сработал, но вызов function3 приводит к ошибке «ключевое слово не найдено».

Я использую последнюю версию robot и selenium (3.0 и 2.5.6 соответственно)

Комментарии:

1. Большинство людей больше не используют Selenium. Мы используем Selenium2Library (по сути, он расширяет устаревшую библиотеку и имеет гораздо больше улучшений). Выиграете ли вы от использования Selenium2Library, выполняя перенесенную копию вашего проекта?

2. @Helio мы (к счастью) избавляемся от robotframework в течение следующих нескольких недель. Надеюсь, этот фрагмент кода, который у меня есть, в последний раз, когда мне нужно будет с ним возиться. Однако нам нужно, чтобы он функционировал, по крайней мере, еще несколько недель, пока мы продолжаем тестирование этого программного обеспечения. Так что Selenium2Library для нас не подойдет.

3. Жаль, что у вас был неудачный опыт работы с robotframework. Удачи в поиске справки для selenium core.