用例的执行 (13 min)

指定执行的测试套件 (5 min)

Robot Framework 的命令格式如下

robot [options] data_sources

其中 :

options 是 RF命令的选项, 可以为空

data_sources 则是 要执行的测试套件文件或者目录的路径。可以是绝对路径,也可以是相对路径,相对与当?shell? 的工作目录。

robot tests.robotrobot path/to/my_tests/robot c:\robot\tests.robot

如果指定的是测试套件文件,则执行该文件中所有的测试用例。

如果指定的是测试套件目录,则递归执行该目录下包含的所有的子目录里面所有测试套件文件里面的用例。

不管是执行测试套件文件还是目录, RF认为本次测试的名字就是data_sources参数

===============================

当然我们也可以指定多个要执行的测试套件文件、目录,甚至用通配符来表示多个测试,如下所示:

robot my_tests.robot your_tests.robotrobot --name Example path/to/tests/pattern_*.robot

像这种多个测试数据的情况,本次测试的名称 就是把 它们的名字相加, 比如上面的第一个对应的本次测试名称就叫 My Tests & Your Tests。

我们可以用--name选项来指定本次测试名称,像上面第二行所示。

比如这里,我们刚才的套件执行可以是:

robot --pythonpath . --name  回归测试  tc

根据 名称 选择测试用例(3 min)

我们可以通过 --test --suite 来指定执行哪些用例或者套件,而且还支持用通配符的方式。

--test Example                # 执行名为example的用例

--test mytest --test yourtest   # 执行名为mytest和 yourtest的用例

--test example*              # 执行名字以example开头的用例

--suite mysuite              # 执行 名为mysuite的套件

比如,我们想只测试 添加老师1 这个套件

robot --pythonpath . --test  添加老师1  tc

注意这个参数得和 data source 参数一起使用,不能单独使用

-----------------------------

通常,我们可以在用例后面加上测试管理系统的用例id, 就可以根据用例ID,来选择用例了

如果我们得到的用例清单 如下

tc00001

tc00002

tc00003

tc00004

tc00005

我们就可以这样执行

robot --pythonpath . --test *tc00001  --test *tc00002 --test *tc00003 --test *tc00004 --test *tc00005  t1.robot

如果有的时候,个数太多,参数岂非太长了?

我们通常可以使用参数文件

参数文件 (5 min)

如果有的时候,参数太长,我们通常可以使用参数文件,我们可以把所有的参数都放在参数文件中,比如

--pythonpath .--name 回归测试--test *tc00001--test *tc00002--test *tc00003--test *tc00004--test *tc00005t1.robot

我们的命令就只需要  robot -A argfilename 就可以了

如果用例参数文件args.txt内容如下

--pythonpath .--name 回归测试--test  tc0001--test  tc0002tc

就可以执行 robot -A args.txt

通过标签选择测试用例 (15 min)

前面我们已经学习过,通过用例名和套件名来选择测试用例。

还有一种选择测试用例的方法,是根据用例的标签

指定标签

我们可以给测试用例打上标签(Tag),这样在运行的时候,可以通过标签指定要运行哪些用例。

测试用例可以有多个标签,

我们根据任何一个标签都可以过滤到该用例。

给用例打Tag有如下几种方式

  • Setting 表里的Force Tags

如果我们在测试套件文件的Settings表设置了Force Tags,

那么该套件里面所有测试用例都具有了该tag

如果我们在测试套件目录初始化文件的Settings表设置了Force Tags,

那么该套件里面所有测试用例都具有了该tag

  • 测试用例表里的 [tags] 配置

很简单,就是该用例的tag,

  • Setting 表里的Default Tags

如果我们在测试套件文件的Settings表设置了Default Tags,

那么该套件里面所有 没有[tags] 设置的测试用例 都具有了该tag。

注意测试目录 里面的__init__.robot 不支持Default Tags

如果用例有了标签,

在执行自动化的时候,我们可以这样指定执行哪些标签的测试用例

--include foo  # 执行包含 标签'foo' 的用例.

--exclude foo  # 执行不包含标签'foo' 的用例.

--include oneAND"web test" # 执行同时包含 标签'one','web test' 的用例. 因为有空格,所以用双引号

和下面的区别?

--include one   --include "web test"

--include oneORtwo     # 执行包含 标签'one'或者'two' 的用例.

--include oneNOTtwo     # 执行包含 标签'one'但是不包含标签'two' 的用例.

# 执行 标签格式为 W*W 的用例.

--include w*w     #比如w2w, ww, w33333w

指定关键测试用例 (8 min)

RF执行时,可以指定用例是否是关键测试(critical)用例。

如果本次测试中有关键测试用例没有通过,那么整个测试就被视为测试不通过。

(哪怕是100个中只有一个关键用例没有通过)

反之,整个测试就视为通过。(哪怕是100个中有99个非关键用例没有通过,只有1个通过)

-------------------------------

缺省情况下,RF执行测试时,每个测试用例都被视为关键测试用例。

---------------------

我们可以通过命令参数

--critical (-c)  和 --noncritical (-n)  后面加tag 名称 来指定测试用例是否为关键测试用例。

比如:

--critical regression

指定 只有具有 regression 标签的用例才是关键用例  其它都不是

--noncritical not_ready

指定 不具有 not_ready 标签的用例是关键用例,其他用例都不是关键用例。

--critical ok*  --noncritical tbd*

指定 具有 以ok开头的标签 且 没有以tbd开头的标签 的用例都是关键用例,其他用例都不是是关键用例。

----------------------

通常我们可以在关键用例中打上标签 ,比如 basic 、important,critical  表示是关键用例,这样就可以方便的直接标明用例是否为关键用例。

RF 执行测试用例的命令相关推荐

  1. Jenkins构建maven项目不执行测试用例的命令

    在Jenkins构建项目的时候,有时候执行大量的单元测试用例需要浪费很多时间,为了更快速的构建,可在build选项中使用一下命令不执行单元测试用例 ·Root POM:pom.xml(maven项目的 ...

  2. Python单元测试框架之pytest---如何执行测试用例

    介绍   pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序. 适合从简单的单元到复杂的功能测试 l 模块化parametrizeable装置(在2.3,持续改进) l 参 ...

  3. Maven 打包时不执行测试用例

    说明 有些项目的测试用例执行很慢,为了打包速度,(非正式发布时)希望不执行测试用例. 方法 在mvn命令中添加-DskipTests或-Dmaven.test.skip=true即可. 比如: mvn ...

  4. python如何批量下载邮箱全部附件_Python编写执行测试用例及定时自动发送最新测试报告邮件...

    环境准备: 操作系统:Windows7 集成开发环境:eclipse+pydev 一.编写测试用例 可以直接使用Python自带的单元测试框架unittest来编写自动化测试用例,利用其组织测试用例, ...

  5. python+appium自动化测试-重复执行测试用例

    在功能测试过程中,经常会遇到一些偶然出现的Bug,需要通过重复执行用例来复现问题,那么,在自动化测试的过程中,对于一些偶然出现的Bug,也可以针对单个用例,或者针对某个模块的用例重复执行多次来复现. ...

  6. Linux find+rm -rf 执行组合删除

    Linux find+rm -rf 执行组合删除 [ 语法 ] # find  对应目录  -mtime + 天数  -name " 文件名 " -exec rm -rf {} \ ...

  7. jmeter+csv+ant接口自动化测试--利用apache-ant执行测试用例并生成HTML格式测试报告(二)

    在上一篇博文中介绍了如何使用csv文件来批量管理接口,本篇博文介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告. ①下载安装apache-ant-1.10.0,配置环境变量 如下 ...

  8. linux如何同时执行两个命令,如何同时运行两个或者多个终端命令

    选项一:分号(;)运算符 分号(;)运算符允许你连续执行多个命令,而不管前面的每个命令是否成功,例如,打开终端窗口(在Ubuntu和Linux Mint中 Ctrl Alt T),然后,在一行中键入以 ...

  9. Redis 笔记(08)— 事务(一次执行多条命令、命令 watch/multi/exec/discard、错误处理)

    1. 事务概念 Redis 中的事务 (transaction)是一组命令的集合.事务同命令一样是 Redis 的最小执行单位,一个事务中的命令要么都执行,要么都不执行.事务的原理是先将属于一个事务的 ...

最新文章

  1. 【ACM】杭电OJ 5055(Bob and math problem)
  2. 《Div+CSS 3.0网页布局案例精粹》扫描版[PDF]
  3. Oracle SQL Optimizer IN VS Exists Again
  4. 划痕麻点检测程序_精密外观检测机设计
  5. 修正Android基于ZXing的二维码扫描——横竖屏自由切换
  6. 康普在金色一号中心缔造光纤新历史
  7. FreeRTOS应用开发笔记之一:FreeRTOS在STM32的移植
  8. 大数据之-Hadoop3.x_MapReduce_自定义分区案例---大数据之hadoop3.x工作笔记0112
  9. MTCNN——基于级联模型的人脸关键点检测网络
  10. 收集WebDriver的执行命令和参数信息
  11. 电子商务数据运营的五大应用
  12. 关于Java之IO流音乐拼接小项目
  13. 蒙特卡洛模拟分析市场风险
  14. 第四章 ,数据处理--学习笔记
  15. Linux 终端快捷键
  16. easyphp 12 mysql 启动_easyphp使用教程
  17. WORD中的项目符号实例详解(多图)
  18. android底层优化什么意思,华为所谓的“优化”到底是什么意思 看完这段你就明白...
  19. 【数据库学习】非关系数据库(NoSQL:“non-relational”)
  20. Redis高可用——主从复制、哨兵模式、集群

热门文章

  1. 如何实现一个规则系统
  2. P2255 [USACO14JAN]记录奥林比克
  3. 2000-2010 十大最具技术影响力产品(国内)
  4. git clean -fdx
  5. linux 下查看 USB 设备的 PID 和 VID
  6. 【公共管理硕士论文】共享自行车使用不规范问题治理探析(节选)
  7. 时间复杂度 log n
  8. 人人建站:使用KSWEB和nat123建简易网站
  9. 怎么把视频做成gif表情包?
  10. Flexnet_Licesing_Service 服务修复安装文件