首页 > 解决方案 > 如果我将从 db 获取的索引号存储在变量中并在按索引从列表中选择时使用,m 得到错误作为预期字符串,int found-Robot Framework

问题描述

在此处输入图像描述

select from list by index  ${locator_var}   ${inp_msge_type}

--getting error as expected string, int found

select from list by index  ${locator_var}   7

-----没有收到任何错误

${inp_msge_type}----contains 7 from DB query 结果存放在这个变量中,为了避免硬编码我们需要这样做有什么办法可以写

标签: python-3.xrobotframeworkdropdownrobotframework-sshlibrary

解决方案


不要添加指向代码屏幕截图或错误消息的链接,并相应地格式化代码片段 - 使用 `(勾号)符号将它们包围。


现在在我们身后咆哮,您的问题是关键字Select From List By Index期望索引参数的类型是字符串。

当你调用它时

Select From List By Index    ${locator_var}   7

,“7”实际上是一个字符串(虽然它看起来像一个数字),因为这是框架在任何类型文本上的默认值。所以它起作用了。

当您从数据库中获取值时,它是数据库存储它的类型;并且可能表模式说它是int。所以现在你将一个 int 传递给关键字 - 它失败了。修复很简单 - 只需将变量转换(转换)为字符串类型:

${inp_msge_type}=    Convert To String    ${inp_msge_type}

,现在您可以像以前一样调用关键字。


推荐阅读