gpt4 book ai didi

python - 如何将 pandas 与 Robot 框架集成并运行查询

转载 作者:太空宇宙 更新时间:2023-11-03 20:26:28 24 4
gpt4 key购买 nike

我正在使用 Robot Framework 和 Pandas 为产品开发数据验证框架。我正在使用机器人框架建立数据库连接,如下所示,通过从 sample.robot 文件读取配置 -

*** Settings ***
Variables ./sample.yaml
*** Variables ***
${DB1Host} ${db1host}
${DB1Name} ${db1name}
${DB1Pass} ${db1pwd}
${DB1Port} ${db1port}
${DB1User} ${db1user}

${DB2Host} ${db2host}
${DB2Name} ${db2name}
${DB2Pass} ${db2pwd}
${DB2Port} ${db2port}
${DB2User} ${db2user}

***Keywords***
Connect To DataBase
[Documentation] Establish Connection On DataBase1
${data_base1}= Get Library Instance DB1
log to console Data_Base1 Instance : ${data_base1}
DB1.Connect To Database pymysql ${DB1Name} ${DB1User} ${DB1Pass}
${DB1Host} ${DB1Port}
log to console Connected to Data_Base1
[Return] ${data_base1}

类似地连接到第二个数据库

现在我想使用 pandas 调用另一个 python 库并执行选择查询和 dropduplicates();

import pandas as pd

SHARING_DATA = dict()

def get_data(conn_rd,conn_sc):
global SHARING_DATA
df1= pd.read_sql("""<DB1 inner joint query>""", con=conn_rd).drop_duplicates
print(df1)

df2 = pd.read_sql("""<DB2 inner joint query> """, con=conn_sc).drop_duplicates()
print(df2)
SHARING_DATA[SUITE_NAME] = dict()
SHARING_DATA[SUITE_NAME]["df1"] = df1
SHARING_DATA[SUITE_NAME]["df2"] = df2

这样我就可以执行

1. .drop_duplicates()

2. if SHARING_DATA[SUITE_NAME]["df1"].count().equals(SHARING_DATA[SUITE_NAME]["df2"].count()):

And

3. db1-db2 = SHARING_DATA[SUITE_NAME]["df1"] .merge(SHARING_DATA[SUITE_NAME]["df2"], how='left', indicator=True)
db1-db2 = db1-db2[(db1-db2['_merge'] == 'left_only')].copy()
db1-db2 = db1-db2.drop(columns='_merge').copy()
print('STATUS : FAIL, Records missing in target\n')
print(db1-db2.head())

比较两个数据库之间的数据。我如何在机器人框架中做出非常适应性的相同,或者如何在机器人框架中重用上述比较

最佳答案

您可以通过将以下内容添加到测试套件的设置部分,将任何 Python 库包含到您的 Robot Framework 测试用例中(预计脚本与测试文件位于同一文件夹中):

*** Settings ***
Library ${CURDIR}${/}python_script.py

如果您提供的 python 脚本是以这种方式包含的,那么您可以通过以下方式调用 Robot 测试用例中的任何已实现的函数:

*** Test Cases ***
Call a function from the Python script
Get Data ${CONNECTION_1} ${CONNECTION_2}

您可以向 Python 函数添加更多参数,然后向 Get Data 关键字添加更多关键字参数以添加功能。

如果您有任何用 Python 实现的东西,只需按照解释的方式调用 python 函数,就可以很容易地将其转移到机器人测试套件中。我希望这个答案对您有所帮助,因为我不完全确定您正在寻找的最终结果,但它肯定有助于将 python 库适应机器人框架:)

关于python - 如何将 pandas 与 Robot 框架集成并运行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57778093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com