首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何比较使用python从机器人框架输出的数据?

如何比较使用python从机器人框架输出的数据?
EN

Stack Overflow用户
提问于 2019-01-07 03:30:30
回答 1查看 2.3K关注 0票数 1

这是我的机器人代码

代码语言:javascript
运行
复制
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}
EN

回答 1

Stack Overflow用户

发布于 2019-01-07 03:47:33

机器人框架是用Python编写的,它提供了许多很好的入口点。

您必须做出设计决策(或确定您的团队已经做出的设计决策),以供使用。

机器人原生解决方案

如果您的系统中的两个表的结果是相同的,那么您就可以直接使用内置的机器人框架关键字,而根本不需要调用Python。

代码语言:javascript
运行
复制
*** 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解决方案

如果希望机器人驱动Python (即调用机器人作为主要入口点),则可以使用Library关键字导入Python模块。

机器人测试用例:

代码语言:javascript
运行
复制
*** 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:

代码语言:javascript
运行
复制
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驱动机器人,可以从Python访问https://robot-framework.readthedocs.io/en/latest/

上面是一些直接相关的存根,希望能让您看到映射并开始工作。使用这个起点,我建议仔细阅读文档链接,以了解接下来的步骤。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54068251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档