0

当我对 xml 数据库进行查询并将查询结果作为[('Testing',)]. 我想对这个值做一个简单的检查,以确保它与通过 UI 输入的相同。

Should be equal     ${queryResults}     Testing 

但我收到一个错误[('Testing',)] != Testing

知道我在这里做错了什么。有没有办法从所有这些符号中去除价值( , ' , ??

4

1 回答 1

0

数据库库中查询的返回值是一个元组列表——每个列表成员是一个响应行,元组是其中的列值。
为什么?因为作为一个列表,你得到它们的顺序与数据库返回它们的顺序相同,还有一个元组——因为它是一个只读对象(这种格式实际上来自 python 的标准 db 协议,而不是来自 RF 的 db 库本身)

要获得您必须“解包”对象之后的值;假设您想从第一行获取第一列,这是最简单的方法:

${db value}=    Set Variable    ${queryResults[0][0]}

第一个索引是行号,第二个索引是列。
然后您可以${db value}与您的预期值进行比较。

请记住几件事——有序对象(列表、元组)的访问索引从 0 开始;并且如果您指定的索引处没有元素 - 例如数据库响应中没有这样的行或列 - 这将导致异常 - Robotframework 中的失败状态。

于 2018-04-05T07:28:59.750 回答