Как применить условие If, Else в `RobotFramework` с` SikuliLibrary` двумя изображениями на RIDE? - PullRequest
0 голосов
/ 06 декабря 2018

Пример: После нажатия на значок приложения появляется экран входа в систему (login_screen.png). Иногда всплывающее диалоговое окно OK (ok_btn_dialog.png) появляется перед экраном входа в систему, если появляется диалоговое окно OK.Я хочу нажать на кнопку ОК (ok_btn_dialog.png), а затем перейти к экрану входа в систему (login_screen.png), в противном случае он продолжится с экрана входа в систему (login_screen.png).

Как применять условия If, Else в RobotFramework с SikuliLibrary?используя эти два изображения на RIDE.

Один ответ здесь, но это не совсем ответ моего вопроса.

1 Ответ

0 голосов
/ 06 декабря 2018

Существует ключевое слово Exists , которое сообщит вам, существует ли изображение на экране. В результате получается в истинном / ложном ответе, который может использоваться ключевым словом Run Keyword If :

*** 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} 
...