如何在RIDE上通过两个图像应用“ RobotFramework”和“ SikuliLibrary”中的其他条件?

时间:2018-12-06 11:21:22

标签: if-statement robotframework sikuli

示例:点击应用程序图标后,将显示登录屏幕(login_screen.png),有时会在登录屏幕之前出现一个确定弹出对话框(ok_btn_dialog.png),如果确定对话框出现,我想单击确定按钮(ok_btn_dialog.png),然后继续登录屏幕(login_screen.png),否则它将从登录屏幕(login_screen.png)继续。

如何在RobotFramework中将SikuliLibrary中的if,Else条件应用于?通过在RIDE上使用这两个图像。

这里有一个答案,但这并不是我的问题的answer

1 个答案:

答案 0 :(得分:3)

有一个Exists keyword会告诉您屏幕上是否存在图像。 This results的对/错响应,Run Keyword If keyword可以使用:

*** Settings ***
Library    SikuliLibrary

*** Test Cases ***
TC
    ${exists}    Exists    ./some_image.png
    Run Keyword If    "${exists}"=="true"    Run True Keyword
    ...    ELSE IF    "${exists}"=="false"   Run False Keyword
    ...    ELSE                              Run Error Keyword   

这可以作为一个单独的关键字实现,如果存在则单击图片,否则将忽略图片。

*** Settings ***
Library    SikuliLibrary

*** Test Cases ***
TC
    # Check if button exist and retry for 2 seconds returning false.
    Click If Exists    ./ok_btn_dialog.png    ${2}
    Click             ./login_screen.png

*** Keywords ***
Click If Exists
    [Arguments]    ${image}    ${timeout}=${0}
    ${exists}    Exists    ${image}    ${timeout}
    Run Keyword If    "${exists}"=="true"    Click  ${image}