【问题标题】:Robot framework / selenium - possible to read javascript console?机器人框架/硒 - 可以读取 javascript 控制台吗?
【发布时间】:2013-04-30 07:40:26
【问题描述】:
使用 Robot 框架进行自动化测试时,是否可以通过 console.log 读取记录到 JS 控制台的消息?我们也在使用 selenium 2 库。
很遗憾,我们使用的第三方库不提供用于访问我们的 QA 自动化团队想要测试的信息的事件或字段,但该信息已记录到控制台中。我之所以提到这一点,是因为诸如“发布事件”或“公开字段”之类的变通办法不是可接受的解决方案。
我也不是在寻找涉及覆盖 window.console.log 的解决方案,因为这是一种 hack,可能不可靠。
【问题讨论】:
标签:
selenium
automated-tests
robotframework
【解决方案1】:
您需要创建一个 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