【robotframework】Robot Framework Lint介绍

 

今天给组内成员介绍了一下rflint,结合在线帮助总结如下文档:

总体介绍

Robot Framework Lint工具(robotframework-lint)是一个针对robot framework文本文件的静态分析工具。主要基于工具定义的一系列规则进行测试用例文本的静态分析。

安装说明

推荐使用pip进行安装:

$ pip install --upgrade robotframework-lint

安装成功后,package名字为rflint,执行命令也是rflint。

 

运行rflint

通过命令rflint来运行或者通过python加上-m参数来运行rflint模块。参数主要是一个或者多个待分析的文件。rflint帮助信息如下:

usage: python -m rflint [-h] [--error RULENAME] [--ignore RULENAME] [--warning RULENAME] [--list] [--describe] [--no-filenames] [--format FORMAT] [--version] [--verbose]

                        [--configure CONFIGURE] [--recursive] [--rulefile RULEFILE] [--argumentfile ARGUMENTFILE]

                        ...

 

A static analyzer for robot framework plain text files.

 

positional arguments:

  file

 

optional arguments:

  -h, --help            show this help message and exit

  --error RULENAME, -e RULENAME

                        Assign a severity of ERROR to the given RULENAME

  --ignore RULENAME, -i RULENAME

                        Ignore the given RULENAME

  --warning RULENAME, -w RULENAME

                        Assign a severity of WARNING for the given RULENAME

  --list, -l            show a list of known rules and exit

  --describe, -d        describe the given rules

  --no-filenames        suppress the printing of filenames

  --format FORMAT, -f FORMAT

                        Define the output format

  --version             Display version number and exit

  --verbose, -v         Give verbose output

  --configure CONFIGURE, -c CONFIGURE

                        Configure a rule

  --recursive, -r       Recursively scan subfolders in a directory

  --rulefile RULEFILE, -R RULEFILE

                        import additional rules from the given RULEFILE

  --argumentfile ARGUMENTFILE, -A ARGUMENTFILE

                        read arguments from the given file

 

You can use 'all' in place of RULENAME to refer to all rules.

 

For example: '--ignore all --warn DuplicateTestNames' will ignore all

rules except DuplicateTestNames.

 

FORMAT is a string that performs a substitution on the following

patterns: {severity}, {linenumber}, {char}, {message}, and {rulename}.

 

For example: --format 'line: {linenumber}: message: {message}'.

 

ARGUMENTFILE is a filename with contents that match the format of

standard robot framework argument files

 

If you give a directory as an argument, all files in the directory

with the suffix .txt, .robot, .resource, or .tsv will be processed.

With the --recursive option, subfolders within the directory will

also be processed.

 

自定义规则

每个规则都是一个Python类。下面是一个检查测试套内是否存在重复测试用例的样例:

 

 

 详细信息参见:https://github.com/boakley/robotframework-lint/wiki

 

参数文件

像robot framework一样,rflint也支持参数文件。我们可以将不同的参数写在同一个文件的不同行里面,然后通过命令行参数-A或者--argument-file来指定参数文件。

参数文件是创建一系列适用于当前用例文件的规则以及配置规则的一种便捷的方式。

 

例子

基本用法

$ rflint myTestSuite.robot

使用如下命令来列出所有的内建规则:

$ rflint –list

如果想查看每个规则的解释,可以加上--verbose选项:

$ rflint --list –verbose

有些规则是可以配置的。例如,如果我们想配置规则”LineTooLong”为标记长度超过80个字符的行(默认100),可以用configure选项来更改默认值:

$ rflint --configure LineTooLong:80 myTestSuite.robot

您可以禁用任何规则,或使用--warning,-error和--ignore选项将其配置为警告或错误。例如,要忽略LineTooLong规则,可以执行以下操作:

$ rflint --ignore LineTooLong myTestSuite.robot

要查看所有命令行选项的列表,请使用--help选项:

$ python -m rflint –help

样例输出:

 

 

 显示了两个W(Warning),第一个警告是第30行长度超过100;第二个警告是第二行期望包含测试套文档,但是没有监测到。

 

posted on 2021-03-18 10:52  东西南北风  阅读(320)  评论(0编辑  收藏  举报

导航