selenium - 机器人框架/ Selenium - 可以读取 javascript 控制台吗?

标签 selenium automated-tests robotframework

使用 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/

相关文章:

python - 如何使用 Selenium 和 Python 3.7.4 从一系列复选框中找到特定复选框

typescript - TestCafe 默认类与命名类

ruby - 如何设置 WATIR 焦点在新窗口

ios - Appium Recorder 目前无法转录滚动 Action

python - 将变量从 python 文件传递​​到机器人框架变量

java - Selenium 无法通过 xpath 找到元素

java - 如何检查 Selenium Java 中切换按钮的开/关状态?

javascript - 如何使用selenium webdriver点击链接

sorting - 是否有任何机器人框架关键字来对具有特殊字符的字符串列表进行排序?

web-services - 通过机器人框架工具进行 REST Web 服务测试