Проверьте код статуса 200 или 202 в структуре робота - PullRequest
0 голосов
/ 16 июня 2020

У меня есть код фреймворка робота, который должен проверять, что код состояния - 200 или 202, если метод является публикацией, поэтому я пробую этот код

  Run keyword if  '${Method}'== 'POST'    RequestsChecker.Check Response Status   
  ${response}  202 || 200
  or
  Run keyword if  '${Method}'== 'POST'    RequestsChecker.Check Response Status   
  ${response}  202 or 200

Ошибка: ValueError: недопустимый литерал для int () с базой 10 : '202 || 200 'и ValueError: недопустимый литерал для int () с базой 10:' 202 или 200 '

может ли кто-нибудь указать, как я могу выполнить эту проверку кода состояния с помощью или в роботе?

1 Ответ

1 голос
/ 16 июня 2020

Это ключевое слово принимает один R C - который может быть int или строкой, но первое, что оно делает, - это преобразовывает его в int. Таким образом, он не может работать с «202 || 200», «202 или 200» или любой подобной комбинацией - он никогда не был предназначен для этого.

Но вы можете sh это сделать двумя вызовами, ожидая успеха одного из них

${status 200}=    Run keyword if  '${Method}' == 'POST'    Run Keyword And Return Status    RequestsChecker.Check Response Status   ${response}  200
${status 202}=    Run keyword if  '${Method}' == 'POST'    Run Keyword And Return Status    RequestsChecker.Check Response Status   ${response}  202

# now fail if the method is the one, and the RC was not in the expected
Run keyword if  '${Method}' == 'POST' and not (${status 200} or ${status 202})    Fail   The status code is not 200 or 202
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...