RF之條件判斷、初始化清除-4

條件判斷:html

       rf中用run keyword if 關鍵字作條件判斷,以此來達到相似在python中if ...else...條件判斷的功能。python

       注意:ELSE IF必定都是大寫的,否則運行後會報錯。less

       RF中解決太長的問題:能夠用下一行 前面加三個省略號,在測試用例中,下一行的省略號前面必須留一個以上的空單元格。oop

*** Test Cases ***測試

條件判斷1ui

                [Documentation]       run keyword if     須要注意的是:語法嚴格 in  左右只能一個空格  多了會報錯lua

                ${status}=                  set variable                abcdhtm

                run keyword if            'bc' in ${status}          log to console        bc包含在abcd裏面get

條件判斷2it

              [Documentation]      if  ...else...  分支

              ${status}=                  set variable                abcde

              run keyword if            'cd' in ${status}          log to console       cd包含在abcde裏面

              ...    ELSE                   log to console           cd沒有包含在abcde裏面      

條件判斷3

              [Documentation]    if ...else if...else...   分支

              ${'status'}=                  set variable                  rrrr

              run keyword if             '${status}' == 'tttt'         log to console     1

              ...     ELSE IF              '${status}' == 'rrrr'        log to console      2

              ...     ELSE                   log to console              3

else分支:在老版本的RF中,是沒有else分支的,只能經過run keyword unless來達到目的。

                 run keyword unless和上面的run keyword if沒有任何關係,可單獨使用。

條件判斷4

             [Documentation]     else分支   run keyword if unless

             ${html}=     set variable        2019-12-02 UTC

             run keyword if       '2019' in '$html and 'UTC' in $html

             ...        log to console     是2019年的時間 UTC

             run keyword if unless      '2017' in '$html and 'UTC' in $html

             ...        log to console      不是2019年的時間 UTC

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

循環語句:

        RF中循環只有for循環

        Exit For Loop關鍵字實現break功能  ------- 徹底結束循環

        用Continue For Loop實現continue 功能   -------- 終止本次循環

        也可使用等價的關鍵字 Continue For Loop If    Exit For Loop If

*** Test Cases ***

循環裏的判斷1

              ${weight}=     get value from user    請輸入你的體重    60

              log to console       體重爲${weight}

              run keyword if       int($weight)>60      log to console    過重了

              ...      ELSE          log to console        過輕了    

循環裏的判斷2

              :for    ${one}    in range     99999

              \      ${weight}=     get value from user     請輸入你的體重    60

              \      run keyword if     $weight=='over'       Exit For Loop  

              \      run keyword if     $weight=='cont'       continue for loop

              \      run keyword if     int($weight)>60        log to console      過重了

                    \  ...     ELSE        log to console          過輕了

爲了簡潔簡化,還能夠這樣寫:

       exit for loop if                 $weight=='over'

       continue for loop if         $weight=='cont'

evaluate的使用:

       evaluate關鍵字的參數爲python的表達式,有的表達式須要引入模塊,有的不須要模塊默認不引入模塊

       *** Test Cases ***

       ${var1}=       create list             hello,world

       ${var2}=       evaluate              'hello world'[:4]

       ${var3}=       evaluate               {'hello', 'world'}

       ${var4}=       evaluate               ['hello']*10

       ${var5}=       evaluate               math.fool(-2)         modules=math

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

初始化和清除:

       是測試一個用例以前要作的事情(setup)和測試後要作的事情(teardown)。

       在RF中,每一個測試套件目錄、測試套件文件、測試用例均可以有本身的setup的teardown。

       全部的setup和teardown操做都只能由一個關鍵字語句構成。

初始化和清除寫在測試用例表的配置項中:

       *** Test Cases ***

       test1

           [Documentation]        初始化和清除

           [Setup]             log to console            *******前置********

           log to console                  測試用例1主體部分

           [Teardown]      log to console             *******後置********

       test2

           [Documentation]       初始化和清除

           log to console                測試用例2主體部分

測試套件文件的setup、teardown:

       寫在測試套件文件的settings表中

       兩種類型:   - Suite setup/teardown     進入和退出這個suite執行用例先後必須執行且只分別執行一次

                            - Test setup/teardown       若是suite內的用例自己沒有setup/teardown, 才執行

       *** Settings ***

       Suite Setup       log to console        -----測試套件的前置------

       Suite Teardown      log to console        -------測試套件的後置--------

       Test Setup          log to console          -------前置--------

       Test Testdown      log to console        --------後置--------

測試套件目錄的setup、teardown:

       在其目錄下的初始化文件__int__.txt 或者__init__.robot裏的settings表中

       兩種類型:   - Suite setup/teardown      進入和退出suite執行用例先後必須執行且分別執行一次

                            - Test setup/teardown        若是suite內的用例或者子套件  自己沒有setup/teardown ,才執行

       *** Settings ***

       Suite Setup    log to console       -------測試套件的前置----------

       Suite Teardown    log to console         ---------測試套件的後置----------

       Test Setup        log to console       -----------前置----------

       Test Teardown     log to console        ---------後置----------

目錄下的文件執行方法:

        能夠在終端,如:robot  suite1\st1.robot

               robot --suite st1 suite1

        若是隻想執行文件中的某個具體的用例,怎麼執行?

               robot --test 測試1 suite1

相關文章
相關標籤/搜索