使用 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 []
并调用 Robot Framework:
*** Settings ***
Resource utils.robot
Library get_logs.py
*** Keywords ***
Run On Failure
Capture Page Screenshot
Get Logs
关于selenium - 机器人框架/ Selenium - 可以读取 javascript 控制台吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16400631/