千家信息网

Robot Framework自动化测试 pybot 参数详解

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、使用pybot执行测试用例常用方式1、执行整个项目下的所有用例: pybot 项目路径。例如: pybot D:\robot2、执行某个suit中的所有用例: pybot 项目路径\suit文件名
千家信息网最后更新 2026年11月02日Robot Framework自动化测试 pybot 参数详解

一、使用pybot执行测试用例常用方式
1、执行整个项目下的所有用例: pybot 项目路径。例如: pybot D:\robot
2、执行某个suit中的所有用例: pybot 项目路径\suit文件名称。 例如:pybot D:\robot\test.txt
3、执行具体的某个用例的用例:pybot --test 用例名称 项目路径\suit文件名称。例如:pybot --test case_1_user log in D:\robot\test.txt
4、执行项目中指定标签的案例: pybot --include tagName C:\TF-Test

二、pybot 参数详解

  1. -M -metadata name:value 给最顶层测试套件设置metadata (主要体现在测试报告中)
    • a) example: -metadata version:1.2
  2. -G -gettag tag * 给所有执行的测试 case设置给出的tag
  3. -t -test name * 根据测试case的名字或全面去选择运行。
    • a) 名字是大小写和空格不敏感的,同时也可以用* 匹配所有case, ?可以匹配任意字符
    • b) 如果用 * 和 ?运行, 在控制台是有问题的,请查看 -escape 和 -argumentfile 参数
  4. -s -suite name * 根据选择的case 名字运行测试套件,只有测试case 在对应的测试套件中并且符合筛选标准的,才能和-test, -include 或 - exclude 同时使用时,name 参数和 -test 的name 参数标准类似。也可以使用"." 这个符号作为父节点名的分隔符:
    • a) 例如:-s X.Y 选择父节点是 X 的 Y 测试套件。
  5. -i -include tag 根据给出的tag 名去选择运行测试案例。 name 参数和-test 的参数类似。 tag 是大小写和空格不敏感的,它可以使用 "" 和 "?" 作为通配符。 Tags 和 模式可以用 AND、OR 和 NOT 关键字连接:
    • a) 例如:-include foo -include bar*
    • b) -include fooANDbar*
  6. -e -exclude tag * 不运行带这些给出标签的案例。其余规则和 -include 相同
  7. -R -rerunfailed output 从之前失败的输出文件中选择失败的案例重新执行。
    • a) 选择相同的案例需要用分别单独使用-test 参数
  8. -runfailed output (RF 2.8.4 版本以后已经被-rerunfailed 替代)
  9. -c -critical tag * 案例给予Tag被认为是重要的。 如果没有设置重要标签,那么所有的案例都被认为是重要的。 Tag 可以赋予一个模式例如 -include
  10. -n -noncritical tag 被赋予Tag 的案例,被认为是不重要的,即使他被设置了critical 标签。 Tag 可以用模式来表达例如: -include test
  11. -v -variable name:value * 在测试数据中设置变量。 只支持 scalar 变量,变量名不需要带'′.请参考-escape参数去使用特殊字符和-variablefile参数去设置更多功能的变量,同样可以使用list变量。−a)例如:-variablestr:Hello=>′.请参考-escape参数去使用特殊字符和-variablefile参数去设置更多功能的变量,同样可以使用list变量。−a)例如:-variablestr:Hello=>{str}='Hello'
    • b) -v str:HelloWorld -E space: =>str=′HelloWorld′−c)−vx:−vy:42=>str=′HelloWorld′−c)−vx:−vy:42=>{x}='',${y}='42'
  12. -V -variablefile path * 变量文件的路径:
    • a) 样例文件:
      i.
    • b) 等同于:
      i.
  13. -d -outputdir dir 存放输出文件的路径。默认目录是测试案例执行的目录,给出的目录也是相对于案例执行的目录,除非设置的目录是绝对路径。
  14. -o -output file XML 输出文件,给出路径,和 -log , -report , -xunit , and -debugfile, 相似,基于 -outputdir 的目录,除非给出的是绝对路径。 其他输出文件都是基于案例执行后的xml 输出文件生成的。 XML 输出文件也可以为以后的robot 工具提供数据。可以给出 NONE 字符串禁止这个功能,同时还会禁止 log (日志) 和 report (报告) 功能。
  15. -l -log file HTML 日志文件。 可以给出 NONE 禁止输出,默认输出 log.html
    • a) 例如:-log mylog.html
    • b) -l NONE
  16. -r -report file HTML 报告文件。可以赋予 NONE 禁止输出,默认输出:report.html。 类似于 -log 参数。
  17. -x -xunit file xUnite 兼容性 测试文件。 除非特别声明,否则不会被创建。
    • a) -unitfile file (已经废弃 用 -xunit 代替)
    • b) -xunitskipnoncritical 标记非重要案例在 xUnit 输出结果中跳过。
  18. -b -debugfile file 运行期间的调试文件,除非特别声明,否则不被创建。
  19. -T -timestampoutputs 当使用这个参数时,时间戳格式 'YYYYMMDD-hhmmss' 将被应用于所有输出文件名的基本名和扩展名之间。
    • a) 例如: -T -o ouputxml -r report.html -l none
    • b) 创建文件:ouput-20161023-121011.xml 和 report-20161023-121012.xml
    • c) -splitlog 分割日志文件成小文件,用浏览器打开更清晰
    • d) -logtitle title 生成日志的标题。默认标题是测试套件的名字。 所有测试标题中的下划线都被转换成空格。
    • e) -reportbackgroud colors 测试报告的背景设置。
      • i. 'all_passed:critical_passed:failed' 或者 'passed:failed' 颜色和代码都可以。
        1. 例如:-reportbackgroud green:yellow:red
        1. -reportbackgroud #00E:#E00
  20. -L -loglevel level 设置日志级别。可用级别:TRACE,DEBUG,INFO (默认级别). WARN,NONE(no loging)。使用语法:LOGLEVEL:DEFAULT
    • a) 例子:-loglevel DEBUG
    • b) -loglevel DEBUG:INFO
  21. -suitestatleve level 在日志和测试报告中显示多少层。 默认显示所有层.
    • a) 例子:-suitestatlevel 3
  22. -tagstatinclude tag * 只在测试套件统计和测试细节在日志和报告中显示匹配的TAG。Tag默认在所有测试案例中显示。给出的Tag 可以写成一个简单的模式(参考 -test 例子)
  23. -tagstatexclude tag * 只在 按测试套件统计和测试细节的log 和测试报告中不显示匹配的TAG. 这个选项不能和 -tagstatinclude 一起使用,类似 -exclude 和 -include 同时使用。
  24. -tagstatcombine tags:name * 根据tag 创建综合统计,这些统计会被添加到按TAG 统和匹配的测试案例细节中。 如果可选项 name 没有给出,综合统计的名字会从指定的tags 里面获取。 Tags 将结合-include 给出的规则一起使用。
    • a) 例子: -tagstatcombine requrement-*
    • b) -tagstatcombine tag1ANDtag2:My_name
  25. -tagdoc pattern:doc 为符合条件的tag 添加文档说明。文档会显示在测试细节中,同样也会以 工具提示的形式显示在'Statistics by Tag' 中。 模式可以包含 匹配所有,和'?' 匹配任意单个字符。 文档可以包含格式,类似于 -doc 选项。
    • a) 例子: -tagdoc mytag:My_documentation
    • b) -tagdoc regression:See_http://info.html
    • c) -tagdoc owner-*:Original_author
  26. -tagstatlink pattern:link:title 在按tag统计中添加额外的连接地址。pattern 可以包含 匹配所有 和 ? 匹配任意字符。字符串通配符表达式可以用 %N 这种语法应用在连接 和 标题中。N 是从第几位开始匹配。 在标题中下划线会被自动转换成空格。
    • a) 例子:-tagstatlink mytag:http://my.domain:Link
    • b) -tagstatlink bug-*:http:/tracker/id=%1:Bug_Tracker
  27. -removekeywords all|passed|for|wuks|name: * 从生成的日志文件中移除关键字数据。 关键中如果包含警告则不会被移除,除非选项参数是all .
    • a) all: 从所有关键字中移除数据
    • b) passed: 从成功的测试案例和套件中移除关键字数据。
    • c) for: 从for循环成功的迭代中移除关键字数据。
    • d) wuks: 移除所有处理最后失败的关键字, 包含在'BuiltIn.Wait Until Keyword Succeds'
    • e) name:: 从符合匹配模式的关键字中移除数据。模式会针对关键字全面做匹配。
    • i. 例如:'MyLib.Keyword','resource.Secdon Keyword'
    • f) 大小写,空格,下划线不敏感, 可以包含 * 和 ? 作为通配符。
    • i. 例子:-removekeywords name:Lib.HugeKw
    • ii. -removekeywords name:myresource.*
  28. -flattenkeywords for|foritem|name: * Flattens matching keywords in the generated log file. Matching keywords get all log messages from their child keywords and children are discarded otherwise.
    • a) for: flatten for loops fully
    • b) foritem: flatten individual for loop iterations
    • c) name:: flatten matched keywords using same matching rules as with
      • i. '-removekeywords name:'
  29. -listener class * 一个用于监视测试执行的类。 获取通知的示例当一个测试案例开始和结束时。监听类的参数可以跟在类名后面,用 ':' 作为分隔符。
    • a) 例如:-listener MyListenerClass:arg1:arg2
  30. -warnonskippedfiles 如果使用了该选项,跳过的测试数据文件会在控制台和日志文件中产生一个可见 的警告信息。默认的跳过的文件只会产生一个信息基本的系统日志信息。
  31. -nostatusrc 设置返回码为0 不管测试案例中的失败。错误码正常返回。
  32. -runemptysuite 如果顶层测试套件为空也同样执行。如果和-include/-exclude 一起使用时,如果没有匹配的测试案例,这种场景下很有用。
  33. -dryrun 验证测试数据并且执行测试,以便测试库关键字不执行。
  34. -exitonfailure 任何 critical 基本的案例失败,停止测试。
  35. -exitonerror 当发生任何错误就停止测试
  36. -skipteardownonexit 如果测试执行暂停,就跳过teardown 退出。
  37. -randomize all|suites|tests|none 随机执行。
    • a) all: 随机执行测试套件和测试案例。
    • b) suites: 随机执行测试套件
    • c) tests: 随机执行测试案例。
    • d) none: 不随机执行,默认。
    • e) 使用语法 'VALUE:SEED' 赋予一个用户随机种子,必须是整数。
      • i. -randomize all
      • ii. -randomize tesets:1234
  38. -runmode mode * 2.8版本已经废弃,请分别独立使用:-dryrun, -exitonfailure,-skipteardownonexit, 或者 -randomize 选项代替。
  39. -W -monitorwidth chars 监视器的输出宽度。 默认是 78
  40. -C -monitorcolors auto|on|ansi|off 在控制台使用颜色输出。
    • a) auto: 当输出没有重定向时使用颜色输出。
    • b) on: 总是使用颜色。
    • c) ansi: 想on 参数一样,但是在windows 使用ANSI 颜色。
    • d) off: 禁止颜色
    • e) 注意Jpython 在windows 不显示颜色。
  41. -K -monitormarkers auto|on|off 当顶层关键字在测试案例中结束时,在控制台显示 '.' 成功 或 'F' 失败。 和-monitorcolors 参数的用法一直。
  42. -P -pythonpath path * 添加额外的路径(directories,ZIPs,JARs)去搜索测试库当他们被导入时。多个路径可以用: 做分隔符。
    • a) 例子:-pythonpath libs/
    • b) -pythonpath /opt/testlibs:mylibs.zip:yourlib
    • c) -E star:STAR -P lib/STAR.jra -P mylib.jar
  43. -E -escape what:with * 在控制台有问题的转移字符。
    • a) what 代表转移字符的名字,with 是要转移成的字符
    • b) 需要谨慎选择和使用转移字符。
    • c) amp <&>,apos<'>,at<@>,bslash<>,colon<:>,comma<,>,curly1<{>,curly2<}>,dollar
测试 文件 案例 参数 输出 关键 套件 字符 关键字 日志 路径 数据 例子 变量 报告 模式 颜色 选择 名字 目录 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 鸠鸠互联网科技 高科技与互联网 智网互联网科技 互联网科技宣传片 新华互联网科技校企合作 无锡溥仪互联网科技有限公司 恒银科技与互联网金融 剑昆互联网络科技有限公司临桂 武汉健翔互联网络科技有限公司 杭州壁岐互联网科技有限公司 长沙互联网科技 恒生互联网科技业指数调整周期 每天都有哪些好的互联网科技 广州百诚互联网科技有限公司官网 广州有谷有贝互联网科技有限公司 西安有哪些互联网高科技企业 抖集互联网科技技术咨询 互联网科技手机排行榜 求路客互联网科技电话 三亚科技创新互联网基地 什么是科技互联网 互联网科技有限公司图片 互联网金融与金融科技 上海喔噻互联网科技 苏州大垚互联网科技 深圳国际航运科技和互联网 受益于互联网科技的高速发展 互联网科技和信息 江苏互联网智能科技软件 从那以后互联网科技有限公司
0