Pabot - Невозможно запустить параллельные тесты роботизированной конструкции - PullRequest
0 голосов
/ 10 октября 2018

Итак, я работаю над проектом тестирования роботизированной системы, и цель состоит в том, чтобы запустить несколько наборов тестов параллельно.Для этой цели в качестве решения был выбран pabot.Я пытаюсь реализовать это, но с небольшим успехом.

Моя проблема: после установки Pabot (что, я бы сказал, я сделал, клонировав проект и запустив «setup.py install» вместо использованияpip, поскольку корпоративный прокси-сервер, за которым я работаю, оказался препятствием, которое я не могу преодолеть), я создал новый каталог в дереве проекта, переместил туда несколько комплектов и выполнил:

pabot --processes 2 --outputdir pabot_results Логин * .robot

В результате появляется следующее сообщение об ошибке:

enter image description here

2018-10-10 10: 27: 30.449000 [PID: 9676] [0] EXECUTING Suites.LoginAdmin

2018-10-10 10: 27: 30.449000 PID: 400 EXECUTING Suites.LoginUser

2018-10-10 10: 27: 30.777000 PID: 400 FAILED Suites.LoginUser

2018-10-10 10: 27: 30.777000 [PID: 9676] [0] FAILED Suites.LoginAdmin

ПРЕДУПРЕЖДЕНИЕ. Нет выходных файлов в "pabot_results \ pabot_results". Вывод: [ОШИБКА] Считывание источника XML '' не удалось: недопустимый режим ('rb') или имя файла

Попробуйте --help для получения информации об использовании.Истекшее время: 0 минут 0,578 секунды

После проверки сгенерированного файла stderr у меня появляется это сообщение:

enter image description here

Traceback (последний вызов был последним): Файл "C: \ Python27 \ Lib \ site-packages \ robotframework-3.1a2.dev1-py2.7.egg \ robot \ running \ runner.py", строка 22, из .context import EXECUTION_CONTEXTSValueError: Попытка относительного импорта в не пакет

По-видимому, это связано с чем-то из скрипта runner.py, который, если я не ошибаюсь, пришел с установкой роботизированной системы.Поскольку изменение этого сценария вручную не кажется мне оптимальным решением, мой вопрос: чего мне здесь не хватает?Я забыл что-нибудь сделать при настройке?Или это проблема совместимости между версиями?

Этот проект использует Maven в качестве инструмента для управления зависимостями.Я использую версию 3.5.4.Я использую Windows 10, 64-битную систему;У меня есть Python 2.7.14 и Robot Framework 3.1a2.dev1 .Версия Pabot составляет 0.44 .Очевидно, я добавил C: \ Python27 и C: \ Python27 \ Scripts в переменную окружения PATH.

Редактировать: я также использую плагин robotframework-maven-plugin версии 1.4.0.8, если это уместно.Редактировать 2: добавлены сообщения об ошибках в текстовом формате.

Ответы [ 3 ]

0 голосов
/ 13 октября 2018

Похоже, вы наткнулись на ошибку в предварительной версии каркаса робота (3.1a2.dev1).Пожалуйста, установите релизную версию фреймворка робота.Например 3.0.4.

0 голосов
/ 16 октября 2018

На всякий случай, если кто-нибудь случайно наткнется на эту проблему в будущем:

Так как я не могу использовать pip, и я попробовал множество обходных путей, которые в конечном итоге сделали вещи более нестабильными, я в итоге сэкономилмой проект и удаление всего, связанного с Python, из моей системы, чтобы позволить мне установить все с нуля.В Windows 10, 64-битной системе я использовал:

  • Python 2.7.14

  • wxPython 2.8.12.1 , win64, Unicode, для py27

  • setuptools 40.2.0 (чтобы разрешить мне использовать easy_install команда)

  • Robot Framework 3.0.4

  • robotremoteserver 1.1

  • Selenium2Library 3.0.0

  • и Версия Pabot 0.45 .

Могу добавить, что при установке библиотеки Selenium2, как я описал выше, она в конечном итоге пытается загрузить некоторые вещи из репозиториев pip - что, если у вас есть прокси-сервер, доставит вам неприятности.Я решил эту проблему, просмотрев https://pypi.org/simple/selenium/,, вручную загрузив файл 2.53.6 .tar.gz, затем распаковав его и запустив setup.py install в командной строке.

PS : В идеале, однако, любой должен иметь возможность использовать настройки прокси из командной строки (--proxy http://user:password@server:port), чтобы получить pip и затем использовать его; однако по какой-то причине, вероятно, связанк настройкам сетевой безопасности, с которыми я не хотел терять время, в моем случае это не сработало.

0 голосов
/ 10 октября 2018

Мне кажется, я сталкивался с подобной проблемой при настройке параллельного выполнения на моей машине.Во-первых, я бы подтвердил, что pabot установлен с использованием pip show robotframework-pabot.

Затем вы должны определить каталог, в котором ваши результаты будут использовать -d.Затем я изменил имя -o на Output.xml, чтобы его было легко идентифицировать.

Это копия кода, который я использую.Оптимально работает с 8 процессами

pabot --processes 8 -d results -o Output.xml Tests

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...