2013-05-23 3 views
0

Я хочу вызвать ключевое слово, которое должно быть выполнено до начала любых испытаний робота, и это ключевое слово должно запускаться только один раз для всего пакета проектов ...Как вызвать глобальный файл перед запуском какого-либо набора тестов

например: Допустим, есть набор проект под названием «ProjectSuite», который содержит 4 набора тестов папки в нем, как показано ниже
testSuite1
TestSuite2
TestSuite3
И теперь есть ключевое слово, чтобы обновить учетную запись администратора, я хочу, чтобы определить это ключевое слово в файле и сделать его глобальным. Кроме того, это ключевое слово должно быть выполнено первым перед любым тестированием e папок (testSuite1, TestSuite2 и т. д.).
Если я pybot testSuite1, что ключевое слово должно быть выполнено первое
Если я бегу TestSuite2, что ключевое слово должно быть выполнено первым и так далее ..
Если я бегу ProjectSuite, Тогда это ключевое слово должно быть выполнено только один раз и не должно быть бежать снова и снова для детей ..
тестов во

для этого сценария у меня есть идея, как показано ниже
будет писать ключевое слово и поместить его в глобальной папке ресурсов
Затем вызовите, что ключевое слово в файле _init_ под каждые тесты во (TestSuite1, TestSuite2..etc)
Бу t Ключевое слово работает для каждого пакета, который не является хорошей идеей
Итак, если у кого-то есть лучшая идея, пожалуйста, дайте мне знать ..

ответ

0

Учитывая,

У вас есть ванная ProjectSuite, и суб-тест-сьютов TestSuite1 TestSuite2 TestSuite3 и пользователем ключевых слов предварительно тест-ключевое слово,

И если вы хотите выполнить «пред-тестовое ключевое слово» перед выполнением любого из TestSuite1 или TestSuite2 или TestSuite3,

Тогда идеальным решением будет определение «pre-test-keyword» с тегом «Установка набора» в определении Projec tSuite. В случае, если ProjectSuite является каталогом, это можно сделать в «файле инициализации тестового набора»

Таким образом, «пред-тестовое ключевое слово» будет выполнено до любого из TestSuite1 или TestSuite2 или TestSuite3.

Подробности в этой ссылке http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html?r=2.6.2#suite-setup-and-teardown

Надежда это то, что вы искали.

0

Есть три подхода, о которых я могу думать. Первый подход - это именно то, что вы описываете. Вместо прямого использования ключевого слова создайте ключевое слово пользователя, которое проверяет наличие переменной глобального уровня (вы выбираете имя, но принцип - это C#IFDEF), а затем, если он не определен, запустите ключевое слово и задайте переменную , в противном случае ничего не делать.

Второе: добавьте глобальную переменную в файл python, содержащую ваше ключевое слово, которое изначально верно, проверьте эту переменную при запуске ключевого слова и ничего не делайте, если оно установлено в False. Если для параметра «Истина» задано значение «Истина», запустите функциональность вашего ключевого слова и установите для него значение «Ложь». Это означает, что, пока ключевое слово вызывается для каждого тестового примера, оно только делает что-либо при первом запуске.

Третий подход заключается не в том, чтобы фактически использовать ключевое слово, а вместо скрипта вне вашего тестового набора, который выполняет функционально ключевое слово, а затем запускает тесты.

Какой из них вы используете, зависит от вашего ключевого слова и почему вы его запускаете, более подробная информация была бы полезной при определении того, какой совет дать. Первый будет записывать точно, что происходит, второй оставляет менее крутой в вашем тестовом журнале, но уменьшает видимость. Третий полностью удаляет видимость; Тем не менее я использую третий в своих тестах, чтобы перейти к виртуальному виртуальному файлу python, установить зависимости и запустить прокси-сервер регистрации перед запуском моих тестов, а затем отключить указанный прокси-сервер. Второй, который я использую для частичной инициализации тестовой библиотеки для выполнения длительных вычислений на большом наборе данных, результат которого неизменен и затем используется каждым экземпляром этой библиотеки. Первое, что я не нашел для использования, но тогда мои тесты не являются вашими испытаниями.

Смежные вопросы