總網頁瀏覽量

關於我自己

我的相片
人生的必修課是接受無常,人生的選修課是放下執著。

2016年8月15日 星期一

【Auto Test Case】【RIDE】從DB逐一擷取欄位值搭配迴圈的技巧

#第一種寫法:土法煉鋼
*** Test Cases ***
    ${SQL}=    Set Variable    select Top 3 hospital_code, nhi_code, hospital_name, addr, phone, email, is_chk_hosp from Basic_Hospital where active_flag = '1' ORDER BY hospital_name ASC
    ${DB_List}    Create List
    ${queryResults}=    Query    ${SQL}
    : FOR    ${COLUMN}    IN RANGE    0    6
    \    ${Verify_List}    Convert To String    ${queryResults[0][${COLUMN}]}
    \    Append To List    ${DB_List}    ${Verify_List}
    : FOR    ${COLUMN}    IN RANGE    0    6
    \    ${Verify_List}    Convert To String    ${queryResults[1][${COLUMN}]}
    \    Append To List    ${DB_List}    ${Verify_List}
    : FOR    ${COLUMN}    IN RANGE    0    6
    \    ${Verify_List}    Convert To String    ${queryResults[2][${COLUMN}]}
    \    Append To List    ${DB_List}    ${Verify_List}

#第二種寫法:搭配*** Keywords ***完成2維陣列
*** Test Cases ***
    Connect Database
    ${SQL}=    Set Variable    select Top 3 hospital_code, nhi_code, hospital_name, addr, phone, email, is_chk_hosp from Basic_Hospital where active_flag = '1' ORDER BY hospital_name ASC
    ${Query_SQL}=    Query    ${SQL}
    ${RowCount}    Row Count    ${SQL}
    : FOR    ${x}    IN RANGE    0    ${RowCount}
    \    Keyword with for loop    ${x}    ${Query_SQL}
   
*** Keywords ***
Keyword with for loop
    [Arguments]    ${x}    ${Query_SQL}
    : FOR    ${y}    IN RANGE    0    6
    \    Log    ${Query_SQL[${x}][${y}]}
   
#第三種寫法:再智慧一點,動態取得DB欄位數
*** Test Cases 
    Connect Database
    ${DB_List}    Create List
    ${SQL}=    Set Variable    
select Top 3 hospital_code, nhi_code, hospital_name, addr, phone, email, is_chk_hosp from Basic_Hospital where active_flag = '1' ORDER BY hospital_name ASC    ${Query_SQL}=    Query    ${SQL}
    ${RowCount}    Row Count    ${SQL}
    : FOR    ${x}    IN RANGE    0    ${RowCount}
    \    ${DB_List}=    Keyword with for loop    ${x}    ${Query_SQL}    ${DB_List}

*** Keywords ***
Keyword with for loop
    [Arguments]    ${x}    ${Query_SQL}    ${DB_List}
    ${Find_DB_Column_Num}    Convert To String    ${Query_SQL[0]}    #只取一列資料當代表
    #用逗號分開字串(註解不要寫在有=的句子後面)
    ${DB_Column_Num}=    Split String    ${Find_DB_Column_Num}    ,
    ${Column_Num}    Get Length    ${DB_Column_Num}    #可以取得長度=欄位數
    : FOR    ${y}    IN RANGE    0    ${Column_Num}
    \    ${Column_String}    Convert To String    ${Query_SQL[${x}][${y}]}
    \    Append To List    ${DB_List}    ${Column_String}
    [Return]    ${DB_List}
 

沒有留言:

張貼留言