我有一个包含50个测试用例的套件。当我执行我的套件时,我得到了项目文件夹中列出的所有失败的屏幕截图。我想将这些屏幕截图指向并存储到具有测试用例名称的不同目录中。我希望它是一次性设置,而不是为每个测试用例明确地进行设置。
答案 0 :(得分:1)
有很多方法可以更改屏幕截图默认目录。
一种方法是在导入Selenium2Library时设置screenshot_root_directory
参数。请参阅Selenium2Library文档的importing section和用户指南中的importing libraries。
另一种方法是使用Set Screenshot Directory关键字,这与在导入库时指定路径几乎完全相同。但是,使用此关键字,您可以随时设置新路径。例如,您可以使用每个测试用例使用此关键字拥有自己的屏幕截图目录。根据你的问题,这可能是最好的解决方案。
最后,您还可以使用外部工具甚至是侦听器对屏幕截图进行后处理,这会将所有屏幕截图移动到另一个目录。在大多数情况下,之前提到的解决方案要好得多,但在某些情况下您仍可能希望这样做,例如,只有在测试完成执行后才会创建要保存屏幕截图的目录。
答案 1 :(得分:1)
我建议你这样做:
Open Browser ${URL} chrome
Set screenshot directory ${OUTPUT FILE}${/}..${/}${TEST_NAME}${/}
sc
Capture page screenshot filename=${SUITE_NAME}-{index}.png
然后,创建另一个关键字并在Setup的测试用例中运行:
Register Keyword To Run On Failure sc
在上面的示例中,我创建了一个包含测试用例名称的新文件夹,该文件夹创建了一个屏幕截图(如果失败),其名称为套件项目名称(而不是' selenium-screenshot-1.png& #39)。