Соглашение об именовании тестового набора Robot Framework и работа с bat-файлом - PullRequest
1 голос
/ 14 февраля 2020

У меня вопрос по соглашениям о присвоении имен для тестового набора Robot Framework и запуску тестового примера с файлом .bat на ноутбуке Windows -10. Во время моего ограниченного опыта работы с Robot Framework я в основном использовал RIDE-редактор, и при работе с ним не было много проблем.

При рассмотрении соглашений об именах тестовых примеров в приведенной ниже ссылке хороший способ кажется быть, чтобы поставить пространство между словами. Очень простой пример - Open Browser, поэтому между этими двумя словами, принадлежащими имени тестового примера, есть пробел. Более длинный пример: Empty Username And Password Мне лично нравится такой стиль с пробелами.

https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/HowToWriteGoodTestCases.rst#test -case-names

Однако я заметил, что если я попытаюсь запустите из .bat-файла следующим образом.

robot -t testcasename testsuitename.robot

@echo off
cd C:\Users\developer\Robot
robot -t Open Browser Demosuite.robot

Тогда командная строка просто мигает незадолго до исчезновения, и выполнение тестового примера не работает. При работе с RIDE-редактором проблем с запуском не возникает.

Но если я переименую тестовый пример следующим образом.

@echo off
cd C:\Users\developer\Robot
robot -t Open_Browser Demosuite.robot

Это работает. Так это ожидаемое поведение, что он не должен работать с пробелами при запуске из .bat?

Robot Framework-code:

Resource          Resources/CommonResources.robot

*** Test Cases ***
Open Browser
    Open Browser    https://www.google.com    Firefox

1 Ответ

2 голосов
/ 14 февраля 2020

Проблема связана с тем, как windows и другие операционные системы обрабатывают аргументы в командной строке. Windows ничего не знает о роботе и ничего не знает об аргументе -t или о том, что он ожидает. Когда он видит robot -t Open Browser Demosuite.robot, он видит следующее:

* command name: robot
* argument 1: -t
* argument 2: Open
* argument 3: Browser
* argument 4: Demosuite.robot

Обратите внимание, что «Открыть» и «Браузер» обрабатываются как два отдельных аргумента.

Для передачи аргументов с пробелами, будь то с помощью робота или любого другого инструмента командной строки, необходимо использовать кавычки. В вашем случае вы можете сделать robot -t "Open Browser" Demosuite.robot, или, как вы заметили, вы можете использовать подчеркивание вместо пространства, которое робот (и, вероятно, только робот) преобразует в пробелы для вас.

...