RowCount,Table必须存在,从Robotframework中删除Table关键字中的所有行

时间:2015-10-28 06:06:08

标签: robotframework

我是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:表或视图不存在,但这张表非常适合。

请帮我找一下我做错了什么。

提前致谢!!!

2 个答案:

答案 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命令可以得到相同的结果,但它会以这种方式工作。

我希望它有点帮助