我需要测试一个工作流,其中所有页面的顺序相同,但测试时不知道用户从何处开始。所有单独的页面都有单独的带有参数的函数。它们彼此独立运行,我希望保持这种方式
我以为我可以将所有函数存储在一个列表中,然后传递一个变量来指示在列表中从何处开始,但是当我定义列表时,它只运行函数!有没有办法解决这个问题
这是我在发现函数正在运行之前所做的
teststeps = [page1(param1, param2), page2(param1, param2), page3(param1, param2), page4(param1, param2
teststepnumber = determinepage(param1, param2)
for item in teststeps[teststepnumber:]:
**Incomplete because I couldn't figure out how to run the functions**
您只需将函数本身(而不是实际调用它们的结果)放入列表中,以便在以后的步骤中调用它们:
定义列表时,函数会立即运行,因为它们是用
()
调用的。解决此问题的一种方法是创建元组列表,其中第一项是函数,第二项是参数列表可以,您可以将函数及其参数存储在元组列表中:
行:
f,*args = item
提供函数f
和所有参数*args
然后行
f(*args)
调用带有适当数量参数的函数f
相关问题 更多 >
编程相关推荐