RobotFramework -html message让提示信息变得与众不同

372 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天,[点击查看活动详情] (juejin.cn/post/709970… "juejin.cn/post/709970…")

💔 RF BuiltIn库

就像大多数编程语言,都会有一些自带的内置函数,RF也一样,也提前封装了一些常用的关键字(类比函数)和许多特性,底层是用python实现的,后续可尝试看源码,今天主要看一下fail error message里使用html

💔 error message里可使用HTML

如果关键字失败,许多关键字都接受可选的错误消息,并且可以在这些消息中使用 HTML,方法是在它们前面加上 HTML。请注意,在消息中使用 HTML 不仅限于 BuiltIn 库,还可以处理任何错误消息。 例如built in库的fail 关键字

Fail   *HTML*<b>Test not ready</b>    # Fails using HTML in the message. 

执行实例:

*** Test Cases ***
001_TC_NO_OWN_TAGS
    log    no own tags, but has force and default tags
    log    ${TEST TAGS}
    FAIL    *HTML*<b>Test not ready</b>

执行结果

图片.png

这样看是不是看不出什么效果,我们再看一个例子

001_TC_NO_OWN_TAGS
    log    no own tags, but has force and default tags
    log    ${TEST TAGS}
    FAIL    *HTML*<script>alert("this test \ not ready")</script>

执行结果:

图片.png

我们来打开log文件,会有一个html的弹窗出现

图片.png

我们再回到第一个例子,然后打开log文件看有什么效果

我们看错误信息似乎是加粗显示了

图片.png

那么给错误信息额外加个颜色看看

001_TC_NO_OWN_TAGS
    log    no own tags, but has force and default tags
    log    ${TEST TAGS}
    #FAIL    *HTML*<script>alert("this test \ not ready")</script>
    FAIL    *HTML*<font color="red"> alert("this test \ not ready") </font>

看log中的表示,字体确实按我们预想的变红了

图片.png

💔 看下fail源码

图片.png

这个源码里主要用到了python的AssertionError()方法

💔 后记

在error message里使用html,可以改变message的显示,可以让它变得与众不同,根据自己的需要来私人定制显示,不止在fail关键字里,任何可以使用message的地方都可以,比如log关键字,通过信息我们让它显示为绿色,有告警我们让它弹窗加黄色字体, 错误信息变红加足等, 让message不再变得那么单调