Неверный синтаксис при попытке For Loop в Robot Framework - PullRequest
0 голосов
/ 19 октября 2019

я пытаюсь зациклить текст во время ввода текста, но у меня возникла ошибка при его запуске

  *** Settings ***
 Library  Selenium2Library          

  *** Variables ***       

${URL}  https://www.ebay.com           
${Browser}  Chrome   
${Searching}  xpath=//input[@id='gh-ac']    
${Name}  book


 *** Test Cases ***    

Test case Register Positive    
  Open Browser    ${URL}  ${Browser}    
  Input Text  ${Searching}  ${Name}    
  FOR  ${Index}  IN   0   100        
  #LOG TO CONSOLE    ${i}    
    Run Keyword If  ${Searching}  ==  'CONTINUE'   Continue For Loop    
  END

Ошибка говорит Оценка выражения 'xpath = // input [@id = 'gh-ac'] 'сбой: SyntaxError: неверный синтаксис (, строка 1)

Пожалуйста, помогите

1 Ответ

1 голос
/ 20 октября 2019

Когда робот переводит ваше утверждение в код Python для оценки выражения, оно выглядит буквально так для интерпретатора Python

if xpath=//input[@id='gh-ac']:

Это недопустимый синтаксис Python, поэтому вы получаете ошибку.

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

Вам также нужно иметь не более одного пробела с каждой стороны ==:

Run Keyword If  $Searching == 'CONTINUE'   Continue For Loop 

Подробнее об этом синтаксисе см. Оценка выражений в документации по встроенной библиотеке.

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