python - 从失败的步骤暂停和恢复 Python 脚本

标签 python redis robotframework

我有一个长时间运行的 python 脚本(我们称它为 upgrade.py)。
该脚本有许多步骤或部分(本质上是对路由器的 XML API 调用以在路由器上运行某些命令)。

我需要有关如何实现以下目标的建议:
我希望对脚本进行划分,这样如果任何步骤失败,脚本执行应该暂停并通过电子邮件通知用户(我可以处理电子邮件部分)。

然后用户可以在他的路由器上解决这个问题,并且应该能够恢复他的脚本,即脚本从失败的步骤开始恢复执行。

简而言之,我如何将脚本划分为步骤(或测试用例),以便:

  1. 脚本在失败的某个步骤暂停

  2. 用户稍后可以恢复脚本(从失败的步骤开始)

最佳答案

大多数测试自动化方法会中断测试套件,然后在应用修复后重新尝试所有测试用例。这有一个额外的好处,即当修复影响已经运行的脚本时,也会发现这一点。

鉴于测试的冗长性质,这可能不切实际。下面的 scipt 将使用 DialogsWait Until Keyword Succeeds 允许在继续测试用例的下一步之前重试 3 次。

*** Settings ***                
Library Dialogs

*** Test Cases ***
Test Case 
    Wait Until Keyword Succeeds  3 times    1 second  Failing Keyword
    Log To Console    End Test Case    

*** Keywords ***
Failing Keyword
    Fail    Keyword failed
    [Teardown]    Dialogs.Pause Execution    Please Check your settings.

关于python - 从失败的步骤暂停和恢复 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43547193/

相关文章:

python - 替换 Python 中第一次出现的字符串

连接到 Apache 上的 Python 服务器端代码的 Android 客户端

python - SWIG:如何将 python 文件合并到 swig 生成的最终模块文件中

Redis集群无法添加节点

python - 如何使用机器人框架,selenium 打开新窗口?

python - 在不缩放的情况下改进图像的 OCR(使用 PIL、pixbuf)?

java - 从kafka到redis的flink管道

redis - 有没有办法使用 Docker secrets 从/run/secrets/redis-pass 读取并设置 redis --requirepass 标志?

python - 如何将 bool 变量从机器人框架传递给 python 函数

python - 如何将 SQL 查询结果分配给变量(Robot Framework)以输入应用程序编辑文本?