Variables robot框架中自定义关键字的整数变量

Variables robot框架中自定义关键字的整数变量,variables,selenium,robotframework,Variables,Selenium,Robotframework,我在robot框架中有一个自定义关键字,用于统计列表中的项目。这已经在我的底层python文件中起作用,当列表中存在五个元素时,它会打印数字5 然后我想把这个值带到robot框架中。但我得到的不是一个数字: ${N_groups}是 robot文件的代码: *** Test Cases *** Count Groups ${N_groups} Setup Groups Count Groups log to console ${N_groups} 如何将列表的项目计

我在robot框架中有一个自定义关键字,用于统计列表中的项目。这已经在我的底层python文件中起作用,当列表中存在五个元素时,它会打印数字5

然后我想把这个值带到robot框架中。但我得到的不是一个数字:
${N_groups}

robot文件的代码:

*** Test Cases ***
Count Groups
    ${N_groups}    Setup Groups Count Groups
    log to console    ${N_groups}
如何将列表的项目计数作为整数值获取

以下是我的python文件的一部分:

@keyword(name="Count Groups")
def count_groups(self):
    N = self.cur_page.count_groups()
    return N
        def count_groups(self):
            ele_tc = self._wait_for_treecontainer_loaded(self._ef.get_setup_groups_treecontainer())
            children_text = self._get_sublist_filter(ele_tc, lambda ele: ele.find_element_by_tag_name('a').text,
                                                     True)
            return children_text.count
还有一个更低级的python文件:

@keyword(name="Count Groups")
def count_groups(self):
    N = self.cur_page.count_groups()
    return N
        def count_groups(self):
            ele_tc = self._wait_for_treecontainer_loaded(self._ef.get_setup_groups_treecontainer())
            children_text = self._get_sublist_filter(ele_tc, lambda ele: ele.find_element_by_tag_name('a').text,
                                                     True)
            return children_text.count

您的函数
count\u groups
正在返回
children\u text.count
children\u text
是一个列表,您将返回该对象的
count
方法,这解释了您看到的错误。这与执行类似于
return[1,2,3].count的操作没有什么不同

也许您打算实际调用
count
函数并返回结果?或者,您可能打算返回列表的长度?很难看出代码的意图是什么

无论哪种情况,robot都会准确地报告您正在做的事情:您返回的是对函数的引用,而不是整数。我猜您真正想做的是返回列表中的项数,在这种情况下,您应该将return语句更改为:

return len(children_text)

您的函数
count\u groups
正在返回
children\u text.count
children\u text
是一个列表,您将返回该对象的
count
方法,这解释了您看到的错误。这与执行类似于
return[1,2,3].count的操作没有什么不同

也许您打算实际调用
count
函数并返回结果?或者,您可能打算返回列表的长度?很难看出代码的意图是什么

无论哪种情况,robot都会准确地报告您正在做的事情:您返回的是对函数的引用,而不是整数。我猜您真正想做的是返回列表中的项数,在这种情况下,您应该将return语句更改为:

return len(children_text)

返回
children\u text.count
时,您希望发生什么?您认为
.count
代表什么?当您返回
子项\u text.count
时,您希望发生什么?你认为
.count
代表什么?你好,布莱恩,很抱歉说得不准确。我想知道这条路的长度list@kame:那样的话,我猜对了。您需要执行
返回len(儿童文本)
你好,布莱恩,很抱歉不准确。我想知道这条路的长度list@kame:那样的话,我猜对了。您需要执行
返回len(儿童文本)