自动化项目的目录结构:

       建议的目录结构。。。

以robot --pythonpath .  tc命令执行tc用例下面所有的用例

builtin库里面的Run Keywords方法实现初始化

结构优化- 合并重复的初始化和清除操作

- 去掉多余的管理员登录操作

- 合理重组目录结构

RF用例的执行:

robot framework的命令格式:   robot [options] data_sources

* options命令的选项,可以为空

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

robot tests.robot

robot path/to/my_tests/

robot c:\robot\tests.robot

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

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

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

robot my_tests.robot your_tests.robot

robot   --name Example path/tp/tests/pattern_*.robot

* 多个测试数据的情况,本次测试的名称就是把他们的名字相加

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

根据名称选择测试用例:

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

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

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

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

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

参数文件:

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

--pythonpath .

--name 回归测试

--test tc00001

--test tc00002

tc

就可以执行  robot -A args.txt

RF用例标签:

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

我们可以给测试用例打上标签,这样在运行时,可以通过标签指定要运行那些用例,测试用例可以有多个标签,我们根据任何一个标签都可以过滤到该用例。

给用例打标签有如下几种方式:

① Settings表里的Fore Tags

若我们在测试套件文件里Settings表设置了Fore Tags,那么该套件里的所有测试用例都具有了该标签。

若我们在测试套件目录初始化文件的Settings表设置了Fore Tags,那么该套件里面所有的测试用例都具有了该标签。

| *** Settings *** |

|  Fore Tags       |   web test   |    my test|

|  Default Tags   |   all test      |

② 测试用例表里的[Tags]配置

| *** Test Cases *** |

|  case1  |

|            |  [Tags]   |    one    |

|            |  log to console    |   default browser:${browser}   |

|            |  baidu    search   |   robot framework  |  Robot framework

③ Settings表里的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 oneORtwo        # 执行包含标签‘one’和'two'的用例

-- include oneNOtwo        # 执行包含标签‘one’,但是不包含标签‘two’的用例

举例说明:robot  --include web测试  "webtest"

robot  --include "admin"AND"teacher"  "webtest"

robot  --include *   "webtest"

指定关键测试用例:

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

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

我们可以通过命令参数  ---critical (-c)和--noncritical (-n)  后面加Tag名称来指定测试用例是否为关键测试用例

--critical regression   指定 只有具有regression标签的用例才是关键用例

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

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

通常我们可以在关键用例中打上标签,比如basic表示是关键用例。

项目自动化现状:

实际的自动化项目中,不能只是测试开发者做

应是QA+ 测试开发一起

用例开发人员:是没有开发经验的QA,用例中使用复杂的流程会导致开发难度大大增加

希望测试库的开发人员尽量提供高抽象层级的关键字

很多团队,主要用python而不是RF开发关键字

需要锻炼python开发测试库的能力

RF之目录结构、执行参数、用例标签 -6的更多相关文章

  1. Robotframework(2):创建RF第一条可执行的用例

    转载:http://www.cnblogs.com/CCGGAAG/p/7800323.html 上篇,我们说了如何配置基础的环境,配置好了python2.wxPython .robot framew ...

  2. Discuz!X3解读之类引入机制及目录结构

    实例: - /source/class/table/table_forum_faq.php - /source/class/model/model_forum_post.php - /source/p ...

  3. Android开发第一讲之目录结构和程序的执行流程

    1.如何在eclipse当中,修改字体 下面的这种办法,可以更改xml的字体 窗口--首选项--常规--外观--颜色和字体--基本--文本字体--编辑Window --> Preferences ...

  4. 软件目录结构规范(以python为例)

    为什么要设计好目录结构   "设计项目目录结构",就和"代码编码风格"一样,属于个人风格问题.对于这种风格上的规范,一直都存在两种态度: 一类同学认为,这种个人 ...

  5. linux目录结构详解(以suse linux 10为例)

    一.文件系统结构 位于Linux系统的最顶端即根目录是/.Linux的文件系统的入口就是/,所有的目录.文件.设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者. 它之下的子目录有: ...

  6. codeblocks的c程序目录结构与执行过程

    执行过程 编译 形成 .o .obj 连接 形成.exe文件 执行 目录结构 主程序main.c #include <stdio.h> #include <stdlib.h> ...

  7. Python1_Python的目录结构、执行顺序、__name__ == __main__

    Python执行顺序 python属于脚本语言,不像编译型的语言那样先将程序编译成二进制后再运行,而是动态地逐行解释运行: 也就是从脚本的第一行开始运行,没有统一的入口. python会从文件的第一行 ...

  8. Mac idea 执行testng用例,提示%MODULE_WORKING_DIR%目录不存在解决办法

    idea 下载git代码 执行testng用例,报错: 下午4:47 Error running 'Test.apkStart': Cannot start process, the working ...

  9. Linux之目录结构解析

    /    /bin 存放[二进制可执行命令]目录,与usr/bin相比,它是系统性的.主要放置一些系统的必备执行档.例如:cat.cp.chmod df.dmesg.gzip.kill.ls. mkd ...

随机推荐

  1. python3 利用VideoCapture模块读取多个相机名称

    模块pip安装地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#videocapture

  2. docker安装后启动报错

    docker安装后启动不起来: 查看日志  /var/log/message    其中有一行为:  Your kernel does not support cgroup memory limit ...

  3. 分布式事务 --- CAP 理论

    本文部分来自参考资料!!半原创 概述 介绍CAP理论,并简单地证明了三存二的定论. CAP 理论 1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标.分别为 : C ...

  4. dp(装箱)

    请小伙伴们对自己AC的题目进行标记,注意每人只能标记一次!不知道的不要标记,恶意标记者将回收账号!!! 问题 B: 装箱问题 时间限制: 1 Sec  内存限制: 128 MB[提交] [状态] 题目 ...

  5. HDU 1312 Red and Black(经典DFS)

    嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 一道很经典的dfs,设置上下左右四个方向,读入时记下起点,然后跑dfs即可...最后答 ...

  6. Shiro入门学习之shi.ini实现授权(三)

    一.Shiro授权 前提:需要认证通过才会有授权一说 1.授权过程 2.相关方法说明 ①subject.hasRole("role1"):判断是否有该角色 ②subject.has ...

  7. C语言:求n(n<10000)以内的所有四叶玫瑰数。-将字符串s1和s2合并形成新的字符串s3,先取出1的第一个字符放入3,再取出2的第一个字符放入3,

    //函数fun功能:求n(n<10000)以内的所有四叶玫瑰数并逐个存放到result所指数组中,个数作为返回值.如果一个4位整数等于其各个位数字的4次方之和,则称该数为函数返回值. #incl ...

  8. PHP POST请求 字符串和数组传值的区别

    最近工作中需要请求一个API,由于之前接过类似的就直接拿来写好的函数使用.但数据死活就是传不过去,一只返回err. 代码如下: function post_params($url, $params,$ ...

  9. springmvc实现文件下载

    springmvc实现文件下载 使用springmvc实现文件下载有两种方式,都需要设置response的Content-Disposition为attachment;filename=test2.p ...

  10. ProtoBuf试用与JSON的比较

    介绍 ProtoBuf 是google团队开发的用于高效存储和读取结构化数据的工具.什么是结构化数据呢,正如字面上表达的,就是带有一定结构的数据.比如电话簿上有很多记录数据,每条记录包含姓名.ID.邮 ...