簡體   English   中英

如何使用 python 比較機器人框架的數據輸出

[英]How can i compare data output from robot framework by using python

這是我的機器人代碼

Database-Keywords-Test

connect to database using custom params  cx_Oracle    ${DB_CONNECT_STRING}

${queryResults}=   Query  Select * from QA_USER.SealTest_Security_A order by SECURITY_ID
Log  ${queryResults}

${queryResults1}=   Query  Select * from QA_USER.SealTest_Security_B order by SECURITY_ID
Log  ${queryResults1}

Robot Framework 是用 Python 編寫的,它提供了許多很好的切入點。

您必須圍繞要使用的設計決策(或確定您的團隊已經做出的設計決策)。

機器人原生解決方案

如果您系統中兩個表的結果是相同的,您也許可以直接使用內置的 Robot 框架關鍵字,而根本不調用 Python。

*** Settings ***
 Documentation    Exercise database keywords (Robot-only).
 Library          Collections
 Library          # <Database library implied above>

*** Test Cases ***
User Settings Test
    [Documentation]    User details db comparison (Database-Keywords-Test)
   ${queryResultsA}=   Query  Select * from QA_USER.SealTest_Security_A order by SECURITY_ID
   ${queryResultsB}=   Query  Select * from QA_USER.SealTest_Security_B order by SECURITY_ID
    Lists Should Be Equal  ${queryResultsA}  ${queryResultsB}

機器人調用Python解決方案

如果想讓Robot 驅動Python,即調用robot 作為主要入口點,可以使用Library 關鍵字導入Python 模塊。

機器人測試案例:

*** Settings ***
 Documentation    Exercise database keywords (call out to Python).
 Library          userManagement
 Library          # <Database library implied above>

*** Test Cases ***
User Settings Test
    [Documentation]    User details db comparison (Database-Keywords-Test)
   ${queryResultsA}=   Query  Select * from QA_USER.SealTest_Security_A order by SECURITY_ID
   ${queryResultsB}=   Query  Select * from QA_USER.SealTest_Security_B order by SECURITY_ID
    ${diff} = Compare Users  ${userResultsA}  ${userResultsB}
    Should Be Empty  ${diff}

Python 庫 userManagement.py:

class UserManagement:

    ROBOT_LIBRARY_SCOPE = 'TEST SUITE'

    def compareUsers(self,userResultsA,userResultsB):
        # diff implementation depends on the structure of user results
        # which are not shared in the question, but will be related to the 
        # database library you are using, perhaps a list of 
        # rows or dictionaries
        ...
        return diff

http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#creating-test-library-class-or-module

Python調用Robot解決方案

如果你想讓python驅動Robot,你可以從Python訪問API https://robot-framework.readthedocs.io/en/latest/

以上是一些直接相關的存根,希望能讓您看到映射並開始工作。 使用該起點,我建議仔細閱讀文檔鏈接以進行后續步驟。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM