Фреймворк робота: использование faker для создания строки префикса для данных учетной записи

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

Проблема в том, что я не знаю, как добавлять префиксы или просто использовать большинство ключевых слов faker.

В тот момент, когда я использую ключевое слово md5 для создания строки, которую я могу использовать для каждого экземпляра моего тестового примера, я сделал это, создав переменную в моем файле ресурсов:

*** Variables ***
${md5}                MD 5

Затем я вызываю эту переменную всякий раз, когда хочу написать свой префикс (я называю его в конце различных полей, например, email: email+${md5}@gmail.com, reference: test $ {md5} и т. Д.

*** Keywords ***
Write username
    Input Text    a11y-username    test ${md5}

Я не уверен, где находится фактическая документация по использованию faker из Robot Framework, я использую http://fake-factory.readthedocs.org/en, чтобы найти поставщиков, которых я хочу использовать, а затем изо всех сил стараться заставить их работать изнутри РФ.

Может ли кто-нибудь помочь мне заставить работать random_int () или указать мне на соответствующую документацию для ВСЕХ провайдеров подделок в РФ.

Заранее спасибо.


person LeonH    schedule 21.07.2014    source источник


Ответы (1)


Обзор

Использование ключевых слов faker не требует ничего, кроме их вызова и сохранения результатов в переменной. Вы не можете использовать ложные ключевые слова в таблице переменных, вам нужно использовать их в тестовом примере или ключевом слове. Однако вы можете напрямую вызывать команды faker из файла переменных python.

Например, чтобы получить адрес, вы должны вызвать ключевое слово Address. Поскольку ключевые слова faker носят общий характер, я рекомендую полностью указать ключевые слова, чтобы было ясно, что вы генерируете поддельные данные.

Например:

*** Settings ***
| Library | FakerLibrary | WITH NAME | faker

*** Test Cases ***
| Example of using faker
| | ${address}= | faker.Address
| | log | address: ${address}

Использование ключевого слова Random Int

Чтобы получить случайное целое число, используйте ключевое слово Random Integer:

| Example of using faker to get a random integer
| | ${number}= | faker.Random Int
| | log | my number is ${number}

Инициализация переменных для всего набора

Если вы хотите использовать одни и те же значения для всего набора, вы можете написать ключевое слово, которое устанавливает некоторые переменные уровня набора, используя Set Suite Variable.

Например:

*** Settings ***
| Library | FakerLibrary | WITH NAME | faker
| Suite Setup | Initialize Test Data

*** Test Cases ***
| Example of using faker to initialize suite variables
| | log | The suite address is ${address}
| | log | The suite md5 is ${md5}
| | log | The suite number is ${number}


*** Keywords ***
| Initialize test data
| | ${address}= | faker.Address
| | ${md5}= | faker.MD5
| | ${number}= | faker.Random Int
| | 
| | Set suite variable | ${address}
| | Set suite variable | ${md5}
| | Set suite variable | ${number}

Документация

Документация по ключевым словам FakerLibrary доступна по адресу https://guykisel.github.io/robotframework-faker/. .

person Bryan Oakley    schedule 21.07.2014
comment
Но, как вы можете видеть в моем примере кода, я создал переменную, которая вызывает ключевое слово faker, и сохранил его в переменной, потому что я могу вызвать эту переменную и получить тот же результат. Почему я не могу сделать это с помощью random_int или другого фейкер-провайдера? - person LeonH; 21.07.2014
comment
Не существует такой вещи, как вызов этой переменной. Переменные не могут быть вызваны. В таблице переменных второй столбец представляет собой строку, а не ключевое слово. Ваша переменная - это не что иное, как строка, содержащая символы MD 5. Ваша переменная ${md5} ничего не вызывает и не использует фейкер. Это обычная переменная. Опять же, чтобы использовать фейкер, вы должны вызвать одно из ключевых слов фейкер, например Random Int. - person Bryan Oakley; 21.07.2014
comment
После просмотра документации, которую вы связали, MD 5 (значение переменной, если она определена) является ключевым словом, поэтому, как я уже сказал, переменная ${md5} имеет значение, сгенерированное faker. Сейчас я тестирую, могу ли я сделать то же самое с Random Int. - person LeonH; 21.07.2014
comment
@Stormie: Без обид, но я думаю, что вы ошибаетесь. Взгляните на свои тестовые журналы, вы увидите, что ${md5} не является md5, это просто строка MD 5. Это не может быть ничем другим, если вы не используете какой-либо другой инструмент, кроме robotframework. Если вы поместите что-то в таблицу переменных, этот второй столбец будет просто буквальной строкой, не более того. - person Bryan Oakley; 21.07.2014
comment
Ах, прошу прощения. Когда я тестировал это раньше (пытаясь вызвать ключевое слово в определении переменной), я не раскомментировал соответствующий код. Вы совершенно правы, я так понимаю, мне все равно придется установить переменную, чтобы сохранить случайный int, сгенерированный в этом сеансе? - person LeonH; 21.07.2014
comment
Да, вы должны установить переменную для результата ключевого слова, чтобы использовать результат ключевого слова в вашем тесте. - person Bryan Oakley; 21.07.2014