使用 Robot 框架进行自动化测试时,是否可以通过 console.log 读取记录到 JS 控制台的消息?我们也在使用 selenium 2 库。
我们正在使用第三方库,遗憾的是,该库不提供用于访问我们的 QA 自动化团队想要测试的信息的事件或字段,但该信息已记录到控制台中。我之所以提到这一点,是因为诸如“发布事件”或“公开字段”之类的变通办法不是可接受的解决方案。
我也不是在寻找涉及覆盖 window.console.log 的解决方案,因为这是一个 hack,可能不可靠。
使用 Robot 框架进行自动化测试时,是否可以通过 console.log 读取记录到 JS 控制台的消息?我们也在使用 selenium 2 库。
我们正在使用第三方库,遗憾的是,该库不提供用于访问我们的 QA 自动化团队想要测试的信息的事件或字段,但该信息已记录到控制台中。我之所以提到这一点,是因为诸如“发布事件”或“公开字段”之类的变通办法不是可接受的解决方案。
我也不是在寻找涉及覆盖 window.console.log 的解决方案,因为这是一个 hack,可能不可靠。
您需要创建一个 python 脚本来捕获当前浏览器,然后运行 get_logs 命令。像这样的东西:
from robot.libraries.BuiltIn import BuiltIn
def get_logs():
se2lib = BuiltIn().get_library_instance('Selenium2Library')
try:
return se2lib._current_browser().get_log("all")
# issues while retrieving logs: return empty
except Exception as e:
print(str(e))
return []
并调用机器人框架:
*** Settings ***
Resource utils.robot
Library get_logs.py
*** Keywords ***
Run On Failure
Capture Page Screenshot
Get Logs