#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.