Я создаю набор дымовых тестов для серии API, используя RobotFramework и RobotRequestsLibrary. Я впервые использую RobotFramework. Пытаясь очистить код и сделать его более удобным в сопровождении, я решил попробовать использовать ключевые слова, чтобы удалить все второстепенные детали.
Например, вот два теста, которые я хочу очистить:
*** Variables ***
${sint} http://int.somecoolwebsite.com
*** Test Cases ***
Retrieve Store Info By Code Should Return Successful
[Tags] get
Create Session data-int ${sint}
${resp}= Get Request int /store/1234
Should Be Equal As Strings ${resp.status_code} 200
Retrieve All Store Info Should Return Successful
[Tags] get
Create Session data-int ${sint}
${resp}= Get Request int /stores
Should Be Equal As Strings ${resp.status_code} 200
И моя попытка использовать ключевые слова:
*** Variables ***
${sint} http://int.somecoolwebsite.com
*** Keywords ***
Make ${call} Call To ${end_point}
Create Session ${sint} ${sint}
${resp} = Get Request ${sint} ${end_point}
${status} = ${resp.status_code}
Set Test Variable ${status}
Status Should Be ${required_status}
Should Be Equal ${status} ${required_status}
*** Test Cases ***
Retrieve Store Info By Code Should Return Successful
[Tags] get
Make Get Call To /store/1234
Status Should Be 200
Retrieve All Store Info Should Return Successful
[Tags] get
Make Get Call To /stores
Status Should Be 200
Когда я запускаю тестовые примеры с ключевыми словами, я получаю следующую ошибку:
Keyword name cannot be empty.
Я попытался отладить проблему и поставил точку останова в назначении ключевого слова, и я заметил, что ${resp}
назначается, а ${resp.status_code}
также работает. Но когда я пытаюсь назначить {$status}= ${resp.status_code}
, выдается ошибка.
Я пробовал разные способы переназначить переменную, используя встроенную функцию Set Variable, но мне не повезло. Вы не можете назначать переменные таким образом в Ключевые слова? Любое понимание будет полезно. Спасибо!!
Set Variable
при написании кода здесь. Без этого выдает ошибку. Но в тестовых случаях мне не нужно использовать это объявление. - person Ptrkcon   schedule 24.11.2016