我有一个使用RobotFramework的脚本,该脚本进行了大量的数据库测试。当前,我正在尝试添加一个新的测试用例,以从另一个Python脚本(称为raw_data.py)执行查询测试。 raw_data.py非常简单,仅包含以下代码:
query_begin = """SELECT *
FROM my_Table"""
def get_queries_list(query):
result = query.replace('\n','').strip()
return result
query_result = get_queries_list(query_begin)
print(query_result)
因此,我想使用robotframework从上一个脚本执行结果(查询):
*** Settings ***
Library DatabaseLibrary
Library OperatingSystem
Library raw_data.py
Suite Setup Connect To Database pymysql ${DBName} ${DBUser} ${DBPass} ${DBHost} ${DBPort}
Suite Teardown Disconnect From Database
*** Variables ***
${DBName} myDB
${DBUser} user
${DBPass} pass
${DBHost} hostname
${DBPort} port
${Query} 'SELECT * FROM DEV.personal_tasks'
*** Test Cases ***
Compare the target data with the source data
${output}= Execute SQL String get_queries_list(query)
log to console ${output}
should be equal as strings ${output} 10
但是它给了我以下错误:
No keyword with name 'Execute SQL String get_queries_list(${Query})' found.
但是,关键字“ Execute SQL String”已经存在...我在做什么错?
提前感谢!
[我认为您在Execute SQL String
和get_queries_list(query)
之间缺少至少2个空格,因此它对它进行整体评估,然后将失败并返回不存在此类关键字的错误。
编辑:
您还需要将查询保存到一个变量中,然后将其传递给Execute SQL String
:
${query}= get_queries_list(query)
Execute SQL String ${query}