当我针对XML数据库进行查询并将查询结果作为[('Testing',)]
进行查询时。我想对此值进行简单的检查,以确保它与通过UI输入的内容相同。
Should be equal ${queryResults} Testing
但是我遇到了一个错误 [('Testing',)] != Testing
任何想法我在这里做错了什么。有没有办法将所有这些符号中的值删除( , ' , ??
数据库库中查询的返回值是元组列表 - 每个列表成员都是响应行,元组是其中的列值。
为什么?因为作为列表,您将它们以与DB相同的顺序归还给它们和元组的顺序 - 因为它是一个只读对象(这种格式实际上来自Python的标准DB协议,而不是来自RF的DB库本身(。
要在必须"解开"对象之后获得您的价值;假设您想从第一行获得第一列,那是最简单的方法:
${db value}= Set Variable ${queryResults[0][0]}
第一个索引是行号,第二个 - 列。
然后,您可以将${db value}
与您的预期值进行比较。
牢记几件事 - 有序对象的访问索引(列表,元组(从0开始;如果您指定的索引上没有元素,例如数据库响应中没有这样的行或列 - 这将导致例外 - Robotframework中的失败状态。