基本的な構文の書き方については、どこを参照するのがいいでしょうか?

89 views
Skip to first unread message

masuo.o...@gmail.com

unread,
Jun 7, 2016, 2:39:29 AM6/7/16
to Robot Framework 日本語ユーザグループ
Pythonで「for  cnt  in  range(5):」と表現している内容をRobot Frameworkで実現しようとすると「:FOR  |  ${cnt}  |  IN  RANGE  |  5」のようになりますが、こんなに似ているならPythonの「while」に対応した構文もあるのかな?とユーザーガイドで基本的な構文を説明しているところを探しているのですが、見つかりません。じっくり最初から呼んでいる訳ではなく、拾い読みしているからかもしれませんが。

たとえば、画面への入力と結果のスクリーンショット取得を繰り返すテストがあって、テストを続けるか止めるかについて人が判断するようなテストケースを作成する場合、whileに対応した構文が見つからないので、以下のような書き方をしています。本当はforではなくてwhileが使いたいのですが。

*** Test Cases ***
入力の繰り返し
    ${ans}=    Set Variable    CONTINUE
    :FOR    ${cnt}    IN RANGE    5
     \    ${ans}=    ポップアップ表示で問い合わせする
     \    Exit For Loop If    '${ans}' == 'BREAK'

*** keywords ***
ポップアップ表示で問い合わせする
    ${rtn}=    Get Selection From User    続けるか止めるか選択して    CONTINUE    BREAK
    Return From Keyword    ${rtn}

Yasushi Masuda

unread,
Jun 7, 2016, 11:06:08 AM6/7/16
to Robot Framework 日本語ユーザグループ
小原さん

Wait Until Keyword Secceeds で、ブレーク条件になるまでFailし続けるキーワードを作ります。

どうしてもwhile 文を作りたければ、python で拡張するしかないです。

ところで、小原さんの例だと、テストごとに継続か止めるかという作業にはならないのでは?
おそらく、こういうことをおやりになりたんじゃないでしょうか。

*** settings
Library  Dialogs

*** test case
繰り返し
    Wait Until Keyword Succeeds   100x  0.1sec  操作してOKか確かめる  

*** keywords
操作してOKか確かめる
    ${res}   Get Selection From User    OKならBREAKを押してね    BREAK   CONTINUE
    Run Keyword If  '${res}' == 'CONTINUE'  Fail


小原増雄

unread,
Jun 7, 2016, 10:35:51 PM6/7/16
to Robot Framework 日本語ユーザグループ
ありがとうございます、早速やってみます。
Reply all
Reply to author
Forward
0 new messages