Python 在selenium脚本中的每个步骤之后执行命令?

Python 在selenium脚本中的每个步骤之后执行命令?,python,selenium,Python,Selenium,我正在使用python中的SeleniumWebDriver。我有一个剧本: if flag=='e': try: flag='e1' login (user, passwd) flag='e2' my_script(data) flag='e3' 我有这样的设置,这样我就可以知道在哪一步发生故障。这对于一个小脚本来说很好,但是如果它更大,这将很困难。我想知道是否有一种方法可以在脚本的每个步骤之后执行pyt

我正在使用python中的SeleniumWebDriver。我有一个剧本:

if flag=='e':
    try:
        flag='e1'
        login (user, passwd)
        flag='e2'
        my_script(data)
        flag='e3'
我有这样的设置,这样我就可以知道在哪一步发生故障。这对于一个小脚本来说很好,但是如果它更大,这将很困难。我想知道是否有一种方法可以在脚本的每个步骤之后执行python命令或代码块。因此,如果硒scipt看起来像:

step A
step B
step C
......
step Z
我可以设置flag=0,并在每个步骤后增加flag,这样效果是:

step A
flag = flag+1
step B
flag = flag+1
step C
flag = flag+1
......
step Z
flag = flag+1

这能做到吗?这是一个更一般的python问题,而不是与硒相关的问题,尽管我主要在硒中使用它。

硒本身并没有为此提供工具。您应该使用适当的测试框架来运行测试。它们通常有一些功能,允许您在每次测试之前或之后运行重复代码


例如,在每一步之后执行一个
after_步骤
回调。(碰巧Behave在其测试模型中实际上有一个“步骤”的概念:一个功能包含场景本身包含步骤。)

谢谢,这很有趣,而且是很好的信息。现在,我想继续使用selenium脚本,因为我有大量的脚本,不想尝试将它们转换为行为脚本。然而,使用回调的想法很有趣。在您的评估中,这个问题属于函数式编程还是元编程的范畴?我对编程非常陌生,我也听说过流行语,但正如你从我的问题中看到的,我不知道如何处理这个问题。