RobotFramework / Selenium:如何在失败时将屏幕截图名称设置为测试用例名称

Mar*_*uba 2 selenium robotframework

我想知道是否有可能使以下情况发生。假设我在 RIDE 中有 3 个测试用例,结果如下:

Testcase Easter  --  PASS
Testcase Christmas  --  FAIL
Testcase Foo  --  PASS
Run Code Online (Sandbox Code Playgroud)

我想截取一个应该命名为 testcase_christmas.png 的屏幕截图(或者用 ' ' 而不是 '_',这没关系)。有没有可能动态地做,比如

${testcase}=    Get Testcase Name
Capture Page Screenshot    ${testcase}
Run Code Online (Sandbox Code Playgroud)

或类似的东西?我在用:

  • Python 2.7.x(最新)32 位
  • wxPython 2.8 32 位
  • geckodriver 最新 64 位

Bry*_*ley 5

Robot 框架会自动设置变量${TEST NAME}以包含当前正在执行的测试的名称。请参阅用户指南中的自动变量

SeleniumLibrary's Capture Page Screenshot的文档显示您可以给它一个文件名作为第一个参数。

把这两个放在一起,你可以这样做:

Capture page screenshot  ${TEST NAME}.png
Run Code Online (Sandbox Code Playgroud)