Robotframework for loop lanjutkan dengan tes berikutnya

Aug 23 2020

Saya memiliki kode di bawah ini:

*** Settings ***
Library     OperatingSystem
Library     Process
Library     String
Test Template    My Run Test
*** Variables ***
@{MyList}=   item  items

*** Test Cases *** 
#name                        type                   profile          file                 test
[XXXXX_1]                   General                test.out         Profile             mode.out 
          [Tags]    TEST-XXXXX   


*** Keywords *** 
My Run Test
    [Documentation]    Run the suite
    [Arguments]       ${type} ${profile}     ${file} ${test}
    : FOR  ${data} IN @{MyList} \ When data is ready \ And tool is ran \ And get was success \ And test suite config is updated \ And testing tool is again run \ Then publish test status data is ready Log to Console "Data is ready" tool is ran Log to Console "tool is ran" Run Keyword And Return Stop Test "This is fun" get was success Log to Console "get was success" test suite config is updated Log to Console "test suite config is updated" testing tool is again run Log to Console "testing tool is again run" publish test status Log to Console "publish test status" Stop Test [Arguments] ${msg}     
    Log To Console    ${msg} Fail ${msg}

Sesuai itu saya menjalankan satu set kata kunci untuk semua item dalam daftar menggunakan for loop. Sekarang saya memiliki situasi bahwa untuk item dalam daftar evaluasi gagal dan saya harus menandai tes itu sebagai kegagalan tetapi ingin rangkaian pengujian untuk melanjutkan dengan item berikutnya dalam daftar.

Oleh karena itu asumsikan ada 3 item dalam daftar dan kasus uji gagal untuk item kedua kedua dalam daftar maka kode harus kembali ke utama for loop [tidak melanjutkan dengan kata kunci lain untuk item ke-2] dan memulai kasus uji untuk item ke-3.

Apa yang saya amati bahwa menggunakan kata kunci Gagal dan lainnya menghentikan keseluruhan rangkaian pengujian. Adakah cara untuk mencapai ini?

Jawaban

1 BenceKaulics Aug 23 2020 at 18:43

Jika Anda mengekstrak loop for dari template pengujian ke dalam kasus pengujian dan menggunakan Template dengan for loop , Anda dapat membuat iterasi independen satu sama lain.

Misalnya dengan modifikasi berikut:

*** Test Cases *** 
[XXXXX_1]
    FOR  ${data} IN @{MyList} # list item type profile file test ${data}    General    test.out    Profile    mode.out
    END


*** Keywords *** 
My Run Test
    [Documentation]    Run the suite
    [Arguments]       ${data} ${type}     ${profile} ${file}    ${test}
    When data is ready
    And tool is ran
    And get was success 
    And test suite config is updated 
    And testing tool is again run 
    Then publish test status

Ini akan menjadi hasilnya: