Как я могу запустить эти циклы в рамках робота? - PullRequest
0 голосов
/ 01 января 2019

Как запустить оператор IF снизу в рамке romot?

(while i!=500:/ i = i + 1)

Как я могу выполнить код Python, как я пытался сделать в нижней части моего кода?

*** Settings ***
Library  SeleniumLibrary

*** Variables ***
${Browser}  Chrome
${URL}  https://safeweb.aec.cz/level12.php
*** Test Cases ***
MYbot prihlas_kopiruj_stlac
    Open Browser  ${URL}  ${Browser}
    Input Text  name:login  Trollingcat
    Input Text  name:password  Halo12345
    Click Button  submit
    go to  ${URL}

while i!=500:
    ${get_text}=  Get Text  //*[@id="cid"]
    Input Text  name:captcha  ${get_text}
    Click Button  ok
    i = i + 1

Я пытался сделать это таким образом, но он жалуется

Цикл FOR не содержит ключевых слов

Я просто никогда не использовал этот способ кодирования циклов (и я также предполагаю, что этот модуль не использует классические циклы, как в других языках программирования).

: FOR  ${i}  IN RANGE  1  500
        ${get_text}=  Get Text  //*[@id="cid"]
        Input Text  name:captcha  ${get_text}
        Click Button  ok

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Я не знаю, какую версию Robot Framework вы используете, но я предлагаю обновить до 3.1, так как там немного очищен синтаксис цикла .

В то время как однаВы упомянули, что в вашем ответе все еще поддерживается, был добавлен намного более приятный синтаксис:

FOR  ${i}  IN RANGE  1  500
    ${get_text}=  Get Text  //*[@id="cid"]
    Input Text  name:captcha  ${get_text}
    Click Button  ok
END

Вам не нужны : и все эти \, и конец тела циклатакже помечены явно.

0 голосов
/ 01 января 2019

Я только что нашел решение

: FOR  ${i}  IN RANGE  1  500
    \   ${get_text}=  Get Text  //*[@id="cid"]
    \   Input Text  name:captcha  ${get_text}
    \   Click Button  ok

таким образом, оно работает

...