Как ссылаться на файл переменной yaml, присутствующий в github, в файле тестового примера robot framework в github

#azure-devops #robotframework #azure-pipelines-build-task

#azure-devops #robotframework #azure-pipelines-build-task

Вопрос:

Я запускал тестовые примеры Robot Framework (присутствующие в github) через конвейер azure. Тестовые примеры выполнены нормально. Затем я изменил файл тестового примера robot framework, чтобы импортировать файл переменной yaml (файл переменной yaml также присутствует в той же папке репозитория github), в котором есть переменные, которые будут использоваться файлом тестовых примеров. файл переменной yaml выглядит следующим образом

 login:
 url: xxx.com
 email: abc@y.com 
 password: xyz
 

И мой файл тестовых примеров выглядит следующим образом

 *** Settings ***
    Library           SeleniumLibrary
    Variables         variablesfile.yaml
  
  *** Test Cases ***
  Dev_TC01_AddProcess
  Open Browser    ${login.url}    chrome
  Input Text    id=email    ${login.email}
  Input Password    id=password    ${login.password}
 

И мой конвейер yaml для запуска тестовых сценариев выглядит следующим образом

 - script: |
    pip install pytest pytest-azurepipelines
    pytest
    robot --pythonpath . -x outputxunit.xml TestScenarios.robot
  displayName: 'Run Robot Scripts'
 

но при запуске конвейера я получаю ошибку, потому что файл сценариев тестирования не может ссылаться на variablesfile.yaml. получено сообщение об ошибке — не удалось разрешить переменную ‘$ {login.url}’:

Не могли бы вы подсказать, как ссылаться на переменный файл

Комментарии:

1. можете ли вы опубликовать всю ошибку целиком?

Ответ №1:

Вышеуказанная ошибка, по-видимому, вызвана тем, что файл переменных yaml не найден.

Если вы определили Variables file в Settings разделе, подобном тому, что вы определили в приведенном выше примере. Вы должны поместить файлы переменных yaml в тот же каталог, что и файл тестового робота TestScenarios.robot .

Если файлы переменных не находятся в одном каталоге. Вы можете определить правильный относительный путь в Settings разделе, подобном приведенному ниже примеру: Смотрите Здесь.

Variables ../data/variables.yaml

Примечание:

Для использования файлов YAML с Robot Framework требуется установка модуля PyYAML. Если у вас установлен pip_, вы можете установить его, просто запустив pip install pyyaml.

Комментарии:

1. Файл переменных находится в том же каталоге TestScenarios.robot. Я также попытался ввести полный путь, но он не сработал. Наконец-то я получил решение, мне нужно запустить скрипт pip install pyyaml, чтобы он работал

2. @Komz, я предположил, что вы установили pyyaml. Вы получите Using YAML variable files requires PyYAML module to be installed сообщение об ошибке. Если pyyaml не установлен

Ответ №2:

Файл переменных находится в том же каталоге TestScenarios.robot. Я также попытался ввести полный путь, но он не сработал. Наконец-то я получил решение, мне нужно запустить скрипт pip install pyyaml, чтобы он работал