Как вывести список всех ключевых слов из файла .robot, в которых нет тестовых случаев - PullRequest
3 голосов
/ 02 марта 2020

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

Что я пробовал до сих пор?

from robot.parsing.model import TestData
suite = TestData(parent=None,source="Track2_Keywords.robot")

выдает ошибку

повышение NoTestsFound ('Файл не имеет тестов или задачи. ') robot.parsing.populators.NoTestsFound: Файл не содержит тестов или задач.

также я попытался:

from robot.parsing.model import KeywordTable
suite = KeywordTable("Track2_Keywords.robot")
for item in suite:
...     print (item.name)

, но он пуст.

Ответы [ 2 ]

2 голосов
/ 02 марта 2020

Во-первых, вам нужно использовать модель ResourceFile вместо TestData или KeywordTable. Во-вторых, вы должны вызвать метод populate, чтобы ключевые слова были видны. Это метод populate, который фактически читает файл и импортирует ключевые слова.

from robot.parsing.model import ResourceFile

rf = ResourceFile("Track2_Keywords.robot")
rf.populate()
for kw in rf.keywords:
    print(kw.name)
0 голосов
/ 02 марта 2020

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

*** Test Cases ***
Dummy Test
    No Operation

Таким образом, ваш код не должен жаловаться на отсутствующие тесты.

- Если вы хотите найти неиспользуемые ключевые слова в тестовом наборе, вы можете использовать эту существующую функцию в RIDE (https://github.com/robotframework/RIDE/).

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