机器人框架不创建文件或写入文件

2024-01-10

我有一个Python脚本,它接受日志级别并将其设置为默认级别,因此一旦日志消息通过,它将根据级别层次结构打印或不打印(即,如果默认为DEBUG,则打印所有消息,仅打印CRITICAL & 错误消息(如果默认为错误)。

我的Python代码是这样的:

# Sets default log level.
def set_default_level(self,level):
    levels = {
        'DEBUG': logging.DEBUG,
        'INFO': logging.INFO,
        'WARNING': logging.WARNING,
        'ERROR': logging.ERROR,
        'CRITICAL': logging.CRITICAL
    }

    # Sets up configuration for logging message.
    logging.basicConfig(format='%(levelname)s: %(message)s', filename = 'log_file.log', filemode = 'w', level=levels[level])

def log_message(self, lvl, message):
    msg_print = {
        '[DEBUG]': logging.debug,
        '[INFO]': logging.info,
        '[WARNING]': logging.warning,
        '[ERROR]': logging.error,
        '[CRITICAL]': logging.critical
    } 
    msg_print[lvl](message)

这段代码在单独运行 Python 时确实可以工作。但是,当我使用 Robot Framework 运行此代码时,它不会创建/写入文件。我目前的框架是这样的:

Test Validate Info Prints
    [Documentation]     Checks if all BUT debug messages are printed.
    ...                 Output should not contain any DEBUG level messages.
    Set Default Level   ${INFO_LVL}
    Log Message         ${DEBUG}               ${DEBUG_MSG}
    Log Message         ${INFO}                ${INFO_MSG}
    Log Message         ${ERROR}               ${ERROR_MSG}
    Log Message         ${WARNING}             ${WARNING_MSG}
    Log Message         ${CRITICAL}            ${CRITICAL_MSG}

    ${LogFile}=         Get File                ./log_file.log

    Should contain      ${LogFile}      this build has no associated authentication!
    Should contain      ${LogFile}      S3 Bucket connected successfully
    Should contain      ${LogFile}      No working Internet connection available
    Should contain      ${LogFile}      Application has failed.

    Should not contain   ${LogFile}      please debug this

这只是测试 INFO 默认级别。其他测试用例与此测试用例非常相似,但它们都在文件创建方面存在相同的问题。我已经研究过这个问题,但没有发现任何有用的东西。我一开始使用 PowerShell 来运行框架,然后我切换到 Git BASH 并出现同样的问题。我也在 Windows 7 上运行。

提前致谢!


尝试用你的代码!我开始相信这是预期的行为。

为什么?因为机器人框架中的日志记录必须使用您在代码中使用的相同“日志记录”python 库进行处理。

因此,当您实际传递 [INFO]、[DEBUG] 或任何其他消息时,您实际上并没有创建新的记录器,这与将其传递给 Robot Framework 的现有记录器一样好!因此我们可以在robot框架的log.html中看到所有消息。如下:

20161209 12:24:58.497   WARN    Application has failed.     
20161209 12:24:58.499   WARN    No working Internet connection available    
20161209 12:24:58.501   WARN    this build has no associated authentication!

虽然这只是一个想法!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器人框架不创建文件或写入文件 的相关文章

  • Cucumber / Savon 省略或删除日志输出

    在运行黄瓜测试时 我得到 除了测试结果之外 许多与调试 日志相关的输出 格式如下 D 2013 03 06T12 21 38 911829 49031 DEBUG SOAP request D 2013 03 06T12 21 38 911
  • 使用 MongoDB 作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

    我们目前正在为一家专业公司内部实施类似 CRM 的解决方案 由于存储信息的性质以及信息的不同值和键 我们决定使用文档存储数据库 因为它完全适合目的 在本例中我们选择 MongoDB 作为此 CRM 解决方案的一部分 我们希望存储实体之间的关
  • 为什么 dataclasses.astuple 返回类属性的深层副本?

    在下面的代码中astuple函数正在执行数据类的类属性的深层复制 为什么它不能产生与函数相同的结果my tuple import copy import dataclasses dataclasses dataclass class Dem
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • 矩形函数的数值傅里叶变换

    本文的目的是通过一个众所周知的分析傅里叶变换示例来正确理解 Python 或 Matlab 上的数值傅里叶变换 为此 我选择矩形函数 这里报告了它的解析表达式及其傅立叶变换https en wikipedia org wiki Rectan
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • pandas - 包含时间序列数据的堆积条形图

    我正在尝试使用时间序列数据在 pandas 中创建堆积条形图 DATE TYPE VOL 0 2010 01 01 Heavy 932 612903 1 2010 01 01 Light 370 612903 2 2010 01 01 Me
  • 如何启用 vstest.console.exe 日志记录?

    我试图查看在 Visual Studio 2013 中运行测试时究竟执行了什么 vstest 命令 如何启用 vstest console exe 日志记录 执行的命令是带有相关参数的 VSTest Console exe 当您运行测试时
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • 如何在Python脚本中从youtube-dl中提取文件大小?

    我是 python 编程新手 我想在下载之前提取视频 音频大小 任何 YouTube 视频 gt gt gt from youtube dl import YoutubeDL gt gt gt url https www youtube c

随机推荐