我是robotframework的新手,我正试图掌握DatabaseLibrary的关键词。我在其中3个关键字中收到错误。
1)我使用rowcount关键字如下 -
${rowCount} Row Count <sql query>
无论表格中的行数是多少,我总是得$ {rowCount} = 0.
2)我正在使用从表中删除所有行 - 如下所示 -
Delete All Rows From Table <Table_Name>
我得到ORA-00911:字符无效,但如果使用与Query等其他关键字相同的表格,则可以正常使用。
3)我正在使用Table Must Exist,如下所示 -
Table Must Exist <Table_Name>
我得到了ORA-00942:表或视图不存在,但这张表非常适合。
请帮我找一下我做错了什么。
提前致谢!!!
答案 0 :(得分:0)
我可能错了,但我相信一位同事告诉我有问题,至少有行计数关键字。
但是,对于所有三个选项,都有简单的解决方案,您甚至可以通过使用Query或Execute SQL Script在您的问题中暗示
1)
${result}= Query Select count(id) from table
${rc} = ${result[0][0]} #Play with this as I forget exact syntax
2)将删除脚本放在测试脚本文件夹中,并使用执行SQL脚本调用它。您还可以使用Query在之前和之后执行选择查询以确认预期状态。
3)再次针对您期望在那里的表执行查询,id上的简单行计数将用于此目的。您可以根据结果设置变量,如果需要,可以稍后再次使用。
答案 1 :(得分:0)
我有类似的问题。 我使用cx_Oracle。
使用Table Must Exist关键字我的问题是一样的。 我真的不明白为什么,但首先我必须使用Encode String to Bytes关键字。 我至少需要使用DatabaseLibrary 0.8,因为早期版本没有cx_Oracle的解决方案。这些为我解决了这个问题。
但是从表中删除所有行我仍然有问题。 因为这个关键字放了一个;在行的末尾,如果我理解weel,它会在该行传递执行查询,因此它仍然会导致ORA-00911错误。
使用Execute Sql String和DELETE FROM tablename命令可以得到相同的结果,但它会以这种方式工作。
我希望它有点帮助