执行其 .sql 文件具有变量的测试时出错(机器人框架)

Error when executing a test whose .sql file has variable (Robot Framework)

我有以下情况,你能帮帮我吗?

我想在我的 .sql 文件中保留一些动态数据(变量)并在 .robot 文件中正确执行我的测试。

然而,当我去做我的测试时,它returns一个错误,即变量没有正确挂载。我想我在“背后”留下了一些东西。

谁能帮帮我?

.sql file below (I want my variable name):

INSERT INTO TBMENSAGEMITEM (NUM_MESSAGE, SEQUENCE)
VALUES (@NUMERO_MENSAGEM, ${NAMES})

.robot file below:

*** Variables ***
${NAMES}                          'JOAO'

*** Test Cases ***
Test Variable

${file}   Get File             ${EXECDIR}/spb/scripts/SQL/fileTest.sql
${NAMES}   Replace Variables    ${file}

  Execute Sql Script    ${NAMES}

Error below:

OSError: [Errno 22] Invalid argument:

我确定我的 .robot 文件有误。但是我不知道在哪里。

有人能帮忙吗?

非常感谢您!

OSError 表示问题是 运行在操作系统级别上执行某些命令。

Execute sql script 关键字 - 如果它来自数据库库(您的代码片段不显示设置部分)将文件名作为参数。

Replace variables参数接受一个字符串,returns一个字符串。

然后将字符串作为参数传递给采用文件名的关键字。这会导致 OSError,因为字符串与文件不同。

一旦您使用了替换变量,您应该将该字符串写入文件或检查数据库库是否有关键字 运行 来自字符串而非文件的脚本。